调用revalidate,然后重新绘制。这告诉布局管理器对其组件进行布局:
JPanel contentPane = (JPanel) frame.getContentPane();contentPane.removeAll();contentPane.add(panel);contentPane.revalidate(); contentPane.repaint();
更好的方法是,如果您只想交换JPanels,则使用CardLayout并让它完成肮脏的工作。

调用revalidate,然后重新绘制。这告诉布局管理器对其组件进行布局:
JPanel contentPane = (JPanel) frame.getContentPane();contentPane.removeAll();contentPane.add(panel);contentPane.revalidate(); contentPane.repaint();
更好的方法是,如果您只想交换JPanels,则使用CardLayout并让它完成肮脏的工作。