J'ai deux JTabbedPanes, JTabbedPane1 & 2 Comment puis-je appuyer sur le bouton dans JTabbedPane2 pour afficher JTabbedPane1?
Voici le code de 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();
}
}
voici la classe JPane1:
... JLabel label1 = new JLabel();
label1.setText("This is Tab 1");
jp1.add(label1);
et classe Jpane2 avec bouton sur int
Test JButton = nouveau JButton ("Presse"); jp2.add (test);
ButtonHandler phandler = new ButtonHandler();
test.addActionListener(phandler);
setVisible(true);
} donc le problème est ici dans ActionListener du bouton sur Jpanel2
class ButtonHandler implements ActionListener{
public void actionPerformed(ActionEvent e){
// what i do now ? to call jpanel 1 show ![alt text][1]
}
}
Si vous rendez le volet à onglets accessible à ButtonHandler, vous pouvez le faire:
class ButtonHandler implements ActionListener{
public void actionPerformed(ActionEvent e){
jtp.setSelectedIndex(0);
}
}
Vous pouvez le faire en faisant de jtp (idéalement avec un meilleur nom) un attribut privé avec une méthode getter ou il peut être passé en argument constructeur à ButtonHandler.
Vous devez utiliser la méthode JTabbedPane.setSelectedIndex(int index)
avec l'index de l'onglet souhaité.
c'est très simple: utilisez le code ci-dessous:
JTabbedpane.setSelectedIndex();
quel que soit le nom de votre J Panel, remplacez-le par le JTabbedpane ci-dessus et par exemple, vous voulez sélectionner les premiers onglets, mettez simplement 0 entre parenthèses et si vous voulez sélectionner le deuxième onglet, mettez 1 entre parenthèses, par exemple: mon volet à onglets J est appelé jtabbedpanel et je veux le premier onglet alors la ligne ressemblera à:
jtabbedpanel.setSelectedIndex(0);
j'espère que cela t'aides!!
Tout comme pour ajouter que votre écouteur d'action doit être dans la même classe que vos onglets.