Name: gm110360 Date: 09/09/2003 FULL PRODUCT VERSION : java version "1.4.2-beta" Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2-beta-b19) Java HotSpot(TM) Client VM (build 1.4.2-beta-b19, mixed mode) FULL OS VERSION : Microsoft Windows XP [Version 5.1.2600] EXTRA RELEVANT SYSTEM CONFIGURATION : graphic adapter: ATI Technologies Inc. RAGE 128 PRO AGP 4X TMDS (32 MB RAM) A DESCRIPTION OF THE PROBLEM : Open a JFrame in one display mode (my example: 1024x768 32 Bit) and configure your screen saver with a different display-mode (my example: 1024x768 16 Bit)(in windows XP try the 3D Flowerbox screensaver). Now wait, until the saver starts (or press preview in display-settings). Then move your mouse: the screen saver stops and the whole JFrame refreshes its content. Then press a Button, that starts a modal JDialog: the dialog repaints but the JFrame in the back does not! Even if the modal JDialog will be closed the JFrame does not repaint! The repaint-mechanism of the JFrame is broken until the Frame will be resized. After this the repaint works well again. With JDK1.4.1 the repaint of JFrame hasn't any problems. STEPS TO FOLLOW TO REPRODUCE THE PROBLEM : see Description and use the little example program. REPRODUCIBILITY : This bug can be reproduced always. ---------- BEGIN SOURCE ---------- import java.awt.*; import java.awt.event.*; import javax.swing.*; class BlankerTest extends JFrame { public static void main (String[] args) { BlankerTest bt = new BlankerTest(); bt.show(); } public BlankerTest() { setLocation(100, 100); setSize(800, 600); getContentPane().setLayout(new BorderLayout()); getContentPane().add(new JTree(), BorderLayout.CENTER); JButton button = new JButton("Test"); button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { onTest(); } }); getContentPane().add(button, BorderLayout.SOUTH); } public void onTest() { JOptionPane.showMessageDialog(this, "Test-Dialog"); } } ---------- END SOURCE ---------- CUSTOMER SUBMITTED WORKAROUND : When the screen-saver has the same display-mode as the current desktop, then the repaint of JFrame works! Other workaround: use JDK1.4.1 (Incident Review ID: 187193) ======================================================================
|