On Sat, 14 Oct 2023 14:13:00 GMT, Karl T <[email protected]> wrote: >> Damon Nguyen has updated the pull request incrementally with one additional >> commit since the last revision: >> >> Added string buffer. Separated fail images. Changed exception to throw at >> the end of test. > > I really wonder why the (10 year old) issue > [JDK-8015854](https://bugs.openjdk.org/browse/JDK-8015854) was accepted as > bug. 😕 > It is **not a bug in JDK**, it is a bug in users code. > > He sets the preferred size of the button to 30x30 and adds an HTML image to > that button and expects that it is painted centered. > But he ignores (or does not know) that a button has a margin (2,14,2,14 in > Metal). > Subtracting the margin from the preferred size results in a view size of 2x26 > pixel. > This view is centered withing the component bounds and the HTML image/text is > painted left-top aligned in that view. > This paints the HTML image/text out of center, but this is **expected > behavior**. > >  > > If the user reduces the preferred size, he also needs to **reduce the > margin**. > E.g. adding following line to users code (from JDK-8015854) fixes the problem: > > ~~~java > testButton.setMargin(new Insets(0, 0, 0, 0)); > ~~~ > >  > > I would recommend to **revert** this PR and also PR #7310. > Both break compatibility when using HTML text in buttons.
Hi @DevCharly, I'll look into this. I see your point on how this sort of goes against expected behavior, knowing the margins are (2, 14, 2, 14). I can distinguish between HTML images and HTML text to resolve this issue somewhat for the unexpected padding, but I think reverting the PRs is also a valid solution. ------------- PR Comment: https://git.openjdk.org/jdk/pull/8407#issuecomment-1771286734
