我正在尝试制作一个简单的注销菜单项。我希望它在执行操作时清除一个选项卡式窗格,但是我尝试的所有操作都只是清除了旧窗格,然后回到框架中
我尝试使用.removeAll()、. revalidate()和.repaint();在代码的不同部分上。
// Frame object
Main() {
mainPanel = new JTabbedPane();
tab = new JPanel(); // Has a default layout
mainPanel.addTab(tab);
}
// The user can relaunch the program to change layouts
void launch(){
int i =JOptioPane.showOptionDialog....;// Displays a dialog box to select the layout to be used
if(i==0){ // button pressed on dialog box
mainPanel.removeAll();//Actual tabbed pane has multiple tabs
mainPanel.revalidate();
mainPanel.repaint();
mainPanel.addTab(someTab);
} else {
mainPanel.removeAll();//Actual tabbed pane has multiple tabs
mainPanel.revalidate();
mainPanel.repaint();
mainPanel.addTab(someOtherTab);
}
}
当我运行程序时,先前的布局被删除,但随后将其添加到同时显示它们的新布局中。