JTabbedPane1と2の2つのJTabbedPanesがあります。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 test = new JButton( "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]
}
}
タブ付きペインをButtonHandlerからアクセスできるようにすると、次のようになります。
class ButtonHandler implements ActionListener{
public void actionPerformed(ActionEvent e){
jtp.setSelectedIndex(0);
}
}
これを行うには、jtp(より適切な名前が望ましい)をゲッターメソッドを使用してプライベート属性にするか、ButtonHandlerのコンストラクタ引数として渡すことができます。
メソッドJTabbedPane.setSelectedIndex(int index)
を、必要なタブのインデックスとともに使用する必要があります。
非常に簡単です。以下のコードを使用します。
JTabbedpane.setSelectedIndex();
jパネルの名前が何であれ、Jパネルを上記のJTabbedpaneに置き換えます。たとえば、最初のタブを選択するには、0を角かっこで囲み、2番目のタブを選択する場合は、1を角かっこで囲みます。例:Jタブ付きペインはjtabbedpanelと呼ばれ、最初のタブが必要な場合、行は次のようになります。
jtabbedpanel.setSelectedIndex(0);
お役に立てれば!!
アクションリスナーがタブと同じクラスにある必要があることを追加したいだけです。