On Tue, 12 Dec 2023 13:04:26 GMT, Tejesh R <[email protected]> wrote:
> This is happening in linux where `BuffereStrategyPaintManager` is used to
> paint to offscreen. Here `bsg` bufferStrategy SunGraphics2D is used to paint
> to offscreen where the background is not refreshed, which does only clipping
> and then paints to offscreen. In order to handle the screen updated/clear the
> buffer, `setBackground` to component background color and `clearRect` against
> the clip area is used which solves the issue without causing any regression.
> CI is green for the fix and manual test is provided.
test/jdk/javax/swing/JFrame/JFrameBackgroundRefreshTest.java line 89:
> 87: frame.addMouseMotionListener(new MouseDragListener());
> 88: frame.setVisible(true);
> 89:
May not require.
test/jdk/javax/swing/JFrame/JFrameBackgroundRefreshTest.java line 90:
> 88: frame.setVisible(true);
> 89:
> 90: }
Blank line before method.
test/jdk/javax/swing/JFrame/JFrameBackgroundRefreshTest.java line 101:
> 99: /** Capture an image of any component **/
> 100: private static BufferedImage getImage(Component c) {
> 101: if(c==null) return null;
Suggestion:
if (c == null) {
return null;
}
test/jdk/javax/swing/JFrame/JFrameBackgroundRefreshTest.java line 122:
> 120: public TranslucentPane() {
> 121: setOpaque(false);
> 122: }
Blank line after this.
test/jdk/javax/swing/JFrame/JFrameBackgroundRefreshTest.java line 129:
> 127: g2d.setColor(new Color(0,0,0,0));
> 128: g2d.fillRect(0, 0, getWidth(), getHeight());
> 129: g2d.drawImage(test, p.x, p.y, this);
should we dispose `Graphics2D` object?
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/17081#discussion_r1449902105
PR Review Comment: https://git.openjdk.org/jdk/pull/17081#discussion_r1449901861
PR Review Comment: https://git.openjdk.org/jdk/pull/17081#discussion_r1449902602
PR Review Comment: https://git.openjdk.org/jdk/pull/17081#discussion_r1449903249
PR Review Comment: https://git.openjdk.org/jdk/pull/17081#discussion_r1449904073