22

JTabbedPane1と2の2つのJTabbedPaneがあります。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テスト=newJButton( "Press"); jp2.add(test);

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]
       }
}

代替テキスト

4

5 に答える 5

47

タブ付きペインをButtonHandlerにアクセスできるようにすると、次のことができます。

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

これを行うには、jtp(理想的にはより適切な名前)をgetterメソッドを使用してプライベート属性にするか、コンストラクター引数としてButtonHandlerに渡すことができます。

于 2010-11-11T17:46:00.460 に答える
9

JTabbedPane.setSelectedIndex(int index)必要なタブのインデックスでメソッドを使用する必要があります。

于 2010-11-11T17:34:47.593 に答える
3

その非常に簡単: 以下のコードを使用します。

JTabbedpane.setSelectedIndex(); 

あなたの名前が何であれ、J パネルは上記の JTabbedpane に置き換えます。たとえば、最初のタブを選択する場合は単に 0 を括弧で囲み、2 番目のタブを選択する場合は 1 を括弧で囲みます。例: 私の J タブ付きペインはjtabbedpanel と呼ばれ、最初のタブが必要な場合、行は次のようになります。

jtabbedpanel.setSelectedIndex(0);

お役に立てれば!!

于 2016-12-05T04:46:59.517 に答える
0

ただ!と:

JTabbedPane.setSelectedComponnet(component);
于 2017-06-08T01:36:39.903 に答える