Сделайте JTabbedPane
второго кадра доступным в первом кадре, а затем просто вызовите add()
метод JTabbedPane
, чтобы добавить в него новую вкладку.
Ниже приведен пример кода для этого:
Первый кадр: -
JFrame frame = new JFrame("Demo");
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.setSize(250,250);
JButton button = new JButton("Add tab to another frame.");
button.addActionListener(this);
frame.add(button);
frame.setVisible(true);
Второй кадр: -
Декларация глобальной переменной tabbedPane
JTabbedPane tabs;
int i = 0; // just a tab counter. You might not need this.
Код инициализации
JFrame frame2 = new JFrame("Demo 2");
frame2.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame2.setSize(250,250);
tabs = new JTabbedPane();
frame2.add(tabs);
frame2.setVisible(true);
Действие при нажатии кнопки в первом кадре: -
public void actionPerformed(ActionEvent e) {
JPanel panel = new JPanel();
panel.add(new JLabel("tab number "+i));
tabs.add((i++)+"",panel); //--access tabbedPane of second frame here.
}