Подтвердить что ты не робот

Как переключить вкладки в 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

4b9b3361

Ответ 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);