我有两个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测试=新建JButton("Press");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]
}
}
发布于 2010-11-12 01:46:00
如果您使ButtonHandler可以访问选项卡式窗格,则可以执行以下操作:
class ButtonHandler implements ActionListener{
public void actionPerformed(ActionEvent e){
jtp.setSelectedIndex(0);
}
}
您可以通过使用getter方法将jtp (理想情况下使用更好的名称)作为私有属性来实现,也可以将其作为构造函数参数传递给ButtonHandler。
发布于 2010-11-12 01:34:48
您应该将JTabbedPane.setSelectedIndex(int index)
方法与所需选项卡的索引一起使用。
发布于 2016-12-05 12:47:00
非常简单:使用下面的代码:
JTabbedpane.setSelectedIndex();
不管你的名字是什么,J面板用上面的JTabbedpane替换它,例如,你想选择第一个选项卡,只需将0放在括号中,如果你想选择第二个选项卡,则将1放在括号中。例如:我的J选项卡式窗格名为jtabbedpanel,我想要第一个选项卡,那么该行将如下所示:
jtabbedpanel.setSelectedIndex(0);
希望这能有所帮助!!
https://stackoverflow.com/questions/4157293
复制相似问题