Java 如何通过单击按钮在jTabbedPane中切换选项卡?

Java 如何通过单击按钮在jTabbedPane中切换选项卡?,java,swing,jtabbedpane,Java,Swing,Jtabbedpane,我有两个jtabbedpane,JTabbedPane1和2 如何按下JTabbedPane2中的按钮以显示JTabbedPane1 以下是JTabbedPane的代码: public class TabbedPane extends JFrame { public TabbedPane() { setTitle("Tabbed Pane"); setSize(300,300); JTabbedPane jtp = new J

我有两个jtabbedpane,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测试=新JButton(“按下”); jp2.添加(测试)

} 所以问题出在Jpanel2上按钮的ActionListener中

class ButtonHandler implements ActionListener{
       public void actionPerformed(ActionEvent e){
              // what i do now ? to call  jpanel 1 show ![alt text][1]
       }
}

您应该使用方法
JTabbedPane.setSelectedIndex(int index)
和所需选项卡的索引。

如果您使按钮处理程序可以访问选项卡式窗格,则可以执行以下操作:

class ButtonHandler implements ActionListener{
       public void actionPerformed(ActionEvent e){
              jtp.setSelectedIndex(0);
       }
}

您可以通过使用getter方法将jtp(最好使用更好的名称)设置为私有属性,或者将其作为构造函数参数传递给ButtonHandler来实现这一点。

就像要添加的那样,您的操作侦听器必须与选项卡位于同一个类中。

非常简单:使用以下代码:

JTabbedpane.setSelectedIndex(); 
您的J面板的名称是什么?用上面的JTabbedpane替换它。例如,您想要选择第一个选项卡,只需将0放在括号中,如果您想要选择第二个选项卡,则将1放在括号中。例如:我的J选项卡窗格称为jtabbedpanel,我想要第一个选项卡,那么该行将显示为:

jtabbedpanel.setSelectedIndex(0);
希望这有帮助

就这样!与:

JTabbedPane.setSelectedComponnet(component);

从审查队列:我可以请求您在您的答案周围添加更多的上下文吗。只有代码的答案很难理解。如果你能在你的文章中添加更多的信息,这将有助于询问者和未来的读者。太好了,我刚刚忘了索引。
JTabbedPane.setSelectedComponnet(component);