Как переключить вкладки в jTabbedPane, нажав кнопку?
У меня есть два JTabbedPanes, JTabbedPane1 и 2
Как я могу нажать кнопку в JTabbedPane2, чтобы показать JTabbedPane1?
Вот код для JTabbedPane:
public class TabbedPane extends JFrame {
public TabbedPane() {
setTitle("Tabbed Pane");
setSize(300,300);
JTabbedPane jtp = new JTabbedPane();
getContentPane().add(jtp);
JPanel1 jp1 = new JPanel1();//This will create the first tab
JPanel jp2 = new JPanel2();//This will create the second tab
//add panel .........
//example usage
public static void main (String []args){
TabbedPane tab = new TabbedPane();
}
}
вот класс JPane1:
... JLabel label1 = new JLabel();
label1.setText("This is Tab 1");
jp1.add(label1);
и класс Jpane2 с кнопкой на int
JButton test = новый JButton ( "Press" ); jp2.add(тест);
ButtonHandler phandler = new ButtonHandler();
test.addActionListener(phandler);
setVisible(true);
}
поэтому проблема здесь в ActionListener кнопки на Jpanel2
class ButtonHandler implements ActionListener{
public void actionPerformed(ActionEvent e){
// what i do now ? to call jpanel 1 show ![alt text][1]
}
}
![alt text]()
Ответы
Ответ 1
Если вы сделаете панель вкладок доступной для ButtonHandler, вы можете сделать это:
class ButtonHandler implements ActionListener{
public void actionPerformed(ActionEvent e){
jtp.setSelectedIndex(0);
}
}
Вы можете сделать это, сделав jtp (в идеале с лучшим именем) частным атрибутом с методом getter или его можно передать в качестве аргумента конструктора ButtonHandler.
Ответ 2
Вы должны использовать метод JTabbedPane.setSelectedIndex(int index)
с индексом нужной вкладки.
Ответ 3
очень просто: используйте следующий код:
JTabbedpane.setSelectedIndex();
какое имя вам принадлежит J Panel замените его на вышеуказанный JTabbedpane и, например, вы хотите выбрать первые вкладки, просто поставьте 0 в скобке, и если вы хотите выбрать вторую вкладку, тогда поместите 1 в скобку, например: my J tabbed-панель называется jtabbedpanel, и я хочу первую вкладку, тогда строка будет выглядеть так:
jtabbedpanel.setSelectedIndex(0);
надеюсь, что это поможет!
Ответ 4
Также как добавить, что ваш исполнитель действий должен находиться в том же классе, что и ваши вкладки.
Ответ 5
Просто! С:
JTabbedPane.setSelectedComponnet(component);