Я пытаюсь сделать простой пункт меню выхода.Я хочу, чтобы он очищал панель с вкладками при выполнении действия, но все, что я пытался, просто заставляло старую панель очищаться, а затем возвращалось к кадру
я пытался использовать .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);
}
}
когда я запускаю программу, предыдущий макет удаляется, но затем он добавляется в новый макет, отображая их одновременно.