主窗口顯示正常,點擊按鈕彈出 JOptionPane / JDialog,關閉後主窗口部分組件消失、重疊或空白。
paintEvent。paintComponent)且狀態依賴臨時變量,對話框關閉導致狀態丟失。RepaintManager 脏區域。mainFrame.repaint() 或 mainFrame.validate()。UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName()) 排除 L&F 問題。JButton btn = new JButton("彈窗");
btn.addActionListener(e -> {
JOptionPane.showMessageDialog(frame, "內容");
frame.repaint(); // 關鍵行
});