如何通过单击按钮在 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);

和 int 上带有按钮的 Jpane2 类

JButton 测试 = new JButton(“按下”); jp2.add(测试);

 ButtonHandler phandler = new ButtonHandler();
test.addActionListener(phandler);
setVisible(true);

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

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

替代文字

原文由 tiendv 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 543
2 个回答

如果您使 ButtonHandler 可以访问选项卡式窗格,您可以这样做:

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

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

原文由 Ventral 发布,翻译遵循 CC BY-SA 2.5 许可协议

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

原文由 Guillaume 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题