Как удалить панель с вкладками из слушателя пункта меню - PullRequest
0 голосов
/ 07 июля 2019

Я пытаюсь сделать простой пункт меню выхода.Я хочу, чтобы он очищал панель с вкладками при выполнении действия, но все, что я пытался, просто заставляло старую панель очищаться, а затем возвращалось к кадру

я пытался использовать .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);
  }
}

когда я запускаю программу, предыдущий макет удаляется, но затем он добавляется в новый макет, отображая их одновременно.

...