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.sadhuk...@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@openjdk.org
<mailto:client-libs-dev@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