使用按钮在运行时更改JPanel

use*_*075 2 java swing runtime jpanel jbutton

您好我有这样的主要布局:


            |         |
Main pane   |Menu pane|
            |         |
Run Code Online (Sandbox Code Playgroud)

现在,菜单窗格只是按钮:单击按钮可以将主面板切换为另一个面板.点击事件是这样做的:

public void actionPerformed(ActionEvent evt){
     mainPanel = new MyNewPanel();
     this.revalidate();
}
Run Code Online (Sandbox Code Playgroud)

但是,由于某种原因,主面板不会改变!

Rei*_*eus 7

您没有设置容器的主要组件.您需要添加新面板并调用validate()该容器.

请注意,根据容器的布局,您可能需要先删除当前可见的组件.

CardLayout可以为您管理所有这些.