Откройте новую вкладку во фрейме, отличном от фрейма, в котором нажата кнопка - PullRequest
1 голос
/ 01 августа 2011

у меня 2 кадра. Один содержит кнопки, которые выполняют соответствующие действия с данными. И второй кадр, который содержит данные в виде вкладок. Теперь я должен добавить одну кнопку в первый кадр, нажав на эту кнопку, новая вкладка должна быть добавлена ​​во второй кадр. Как я могу это сделать?

1 Ответ

2 голосов
/ 01 августа 2011

Сделайте 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.
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...