Unwanted artifacts on my JButton

Alexey Ivanov alexey.ivanov at oracle.com
Fri Aug 29 09:23:22 UTC 2025


Hi David,

It is a known issue because of fractional scale. Unfortunately, it's not 
so easy to fix. The artifact that you see is the result of rounding: the 
button should've painted more pixels, but it didn't, therefore you see 
garbage left in the back buffer.

What is the default / recommended scale on your system? I assume it's 
150%, which is the most common scale for laptops and monitors.

With 125% and 175%, you usually get more artifacts than with 150%. With 
integral scales, 200%, the UI usually looks good without artifacts.


To workaround, you can increase the height of the button. In general, if 
you use coordinates and widths and heights that are multiples of 4, you 
shouldn't see such artifacts because the standard scales will produce an 
integer.

Your test case on Stack Overflow can be minimised to display only the 
button. If its coordinates and its width and height aren't multiples of 
4, there are high chances of seeing artifacts, however, this requires 
the back buffer to contain garbage that's not filled with the background 
colour of the frame.


If you have a JBS account, you can click "Start watching this issue" to 
receive notifications when it's changed.

-- 
Regards,
Alexey

On 2025-08-29 04:40, David Alayachew wrote:
> Ty vm Prasanta. Please keep me in the loop. I will also check back in 
> to the JBS page on occasion to see progress on this.
>
> On Thu, Aug 28, 2025 at 10:23 PM Prasanta Sadhukhan 
> <prasanta.sadhukhan at oracle.com> wrote:
>
>     Hi David,
>
>     It seems to be a bug and its there from JDK9 when HiDPI feature
>     was introduced in 2015..We will look into it but cannot commit on
>     a timeframe for now..
>
>     Regards
>     Prasanta
>     On 28-08-2025 04:11, David Alayachew wrote:
>>     Hello @client-libs-dev at openjdk.org
>>     <mailto:client-libs-dev at openjdk.org>,
>>
>>     Here is my StackOverflow post --
>>     https://stackoverflow.com/questions/79748482/how-do-i-get-rid-of-these-artifacts-on-my-jbutton-and-or-what-am-i-doing-wrong
>>
>>     I have a simple Swing GUI that takes in an image, puts it in a
>>     JPanel via JLabel, then adds a button to that same JPanel. When
>>     doing so, I get artifacts at the bottom of my JButton. You can
>>     see the StackOverflow post to see the code example and the artifacts.
>>
>>     I was directed to the following bug entry --
>>     https://bugs.openjdk.org/browse/JDK-8253530
>>
>>     Long story short, the issue is with the default scaling set for
>>     HI DPI monitors on Windows 11 (maybe other versions too?). If I
>>     set the scaling down to 100%, this issue goes away, and things
>>     work as expected.
>>
>>     Anyways, my question is, is the linked bug something that is
>>     being considered? Based on the comments on it, looks like it is
>>     being treated as not an issue, but it wasn't flagged as such.
>>
>>     Thanks for your time and consideration.
>>     David Alayachew
>



More information about the client-libs-dev mailing list