On Tue, 2 Mar 2021 09:15:22 GMT, Alexander Zuev <kiz...@openjdk.org> wrote:
> 8261689: javax/swing/JComponent/7154030/bug7154030.java still fails with > "Exception: Failed to hide opaque button" Should `frame` be declared as `volatile`? It's accessed on main thread in finally block. In addition to it, `frame.getBounds()` and `frame.getInsets()` are called on main thread instead of EDT. test/jdk/javax/swing/JComponent/7154030/bug7154030.java line 116: > 114: Graphics g = fullScreen.getGraphics(); > 115: g.setColor(Color.RED); > 116: g.drawRect(locx-1, locy-1, frw+1, frh+1); Suggestion: g.drawRect(locx - 1, locy - 1, frw + 1, frh + 1); test/jdk/javax/swing/JComponent/7154030/bug7154030.java line 93: > 91: frame.setMinimumSize(new Dimension(350, 350)); > 92: frame.setMaximumSize(new Dimension(350, 350)); > 93: frame.pack(); Wouldn't it make {{desktop}} larger than 300,300? test/jdk/javax/swing/JComponent/7154030/bug7154030.java line 133: > 131: ImageIO.write(imageShow, "png", new > File("imageShow.png")); > 132: ImageIO.write(fullScreen, "png", new > File("fullScreenInit.png")); > 133: throw new Exception("Failed to show opaque button"); <del>I suggest moving saving the images into a new method.</del> I see the set of images is different each time. Probably it makes sense to save all the images which are non-null, what do you think? test/jdk/javax/swing/JComponent/7154030/bug7154030.java line 192: > 190: ImageIO.write(fullScreen, "png", new > File("fullScreenInit.png")); > 191: throw new Exception("Failed to show non-opaque button"); > 192: } Does it make sense to move this block above before `invokeAndWait` to make the sequence of actions consistent? ------------- PR: https://git.openjdk.java.net/jdk/pull/2790