ActionListner sur un JTabbedPane [Résolu]

cs_bordeaux 35 Messages postés lundi 6 décembre 2004Date d'inscription 14 juin 2008 Dernière intervention - 20 déc. 2006 à 12:09 - Dernière réponse : Twinuts 5261 Messages postés dimanche 4 mai 2003Date d'inscription 20 avril 2018 Dernière intervention
- 21 déc. 2006 à 11:40
Bonjour,

j'ai envie d'avoir un retour sur la sélection d'un onglet appartenant à un JtabbedPane.
C'est à dire lorsque je clique sur un onglet il écrit TOTO.
Pour l'instant je n'est rien. Normalement il faudrait écrire tableauOnglets.addActionListener, mais ça ne marche pas et je comprends pas pouruqoi.

Merci de votre aide.

Voici mon code :
package mouse;
import java.awt.Dimension;
import java.awt.Panel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JTabbedPane;

class GererSouris implements ActionListener{

    public static void main(String[] args) {
        display();
    }

    private static void display() {
        JFrame frame = new JFrame();
        JTabbedPane tableauOnglets = new JTabbedPane();

        Panel onglet1=new Panel();
        Panel onglet2=new Panel();
        Panel onglet3=new Panel();

        tableauOnglets.add("Onglet 1",onglet1);
        tableauOnglets.add("Onglet 2",onglet2);
        tableauOnglets.add("Onglet 3",onglet3);
        tableauOnglets.setPreferredSize(new Dimension(1000,50));
        frame.add(tableauOnglets);

        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.pack();
        frame.setVisible(true);
    }

    public void actionPerformed(ActionEvent e) {
        System.out.println("TOTO");
    }
}
Afficher la suite 

Votre réponse

4 réponses

Twinuts 5261 Messages postés dimanche 4 mai 2003Date d'inscription 20 avril 2018 Dernière intervention - 21 déc. 2006 à 11:40
+3
Utile
Salut,

avec les JTabbedPane tu ne peux pas mettre d'ActionListener cependant si ce que tu veux c'est d'etre notifié lors d'in changement d'onglet tu peux utiliser ChangeListener

exemple d'utilisation :

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;

public class Test extends JFrame implements ChangeListener{
   

    private static final long    serialVersionUID    = 7109543294727291811L;
    JTabbedPane                    pane                = new JTabbedPane();
   
    public Test(){
        setDefaultCloseOperation(3);
        setSize(300, 300);
        setLocationRelativeTo(null);
       
       
        pane.addChangeListener(this);
        //remplissage des onglets avec un composant X
        pane.add("Onglet 1",new JPanel());
        pane.add("Onglet 2",new JLabel("Mon label"));
        pane.add("Onglet 3",new JButton("Mon button"));
       
        setContentPane(pane);
    }
   
    public static void main(String[] args) {
        new Test().setVisible(true);
    }

    public void stateChanged(ChangeEvent e) {
        System.out.println("L'onglet selectionné est : " + pane.getTitleAt(pane.getSelectedIndex()));
       
    }

}

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

WORA
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Twinuts
indiana_jules 750 Messages postés mardi 9 mars 2004Date d'inscription 23 décembre 2008 Dernière intervention - 20 déc. 2006 à 12:34
0
Utile
Salut
c'est normal, il semble que tu n'associes pas ton actionlistener à ton JTabbedPane. Il faut utiliser la méthode addActionListener.
En revanche, vérifier que cette méthode puisse accéder à cette méthode. Sinon, il faut regarder les listeners disponibles pour ce composant (du style FocusListener)

Voilà :)

le monde a des idées : la preuve, c'est qu'il y en a de mauvaises
ne comprends pas tout, mais je parle de tout : c'est ce qui compte
Commenter la réponse de indiana_jules
cs_bordeaux 35 Messages postés lundi 6 décembre 2004Date d'inscription 14 juin 2008 Dernière intervention - 20 déc. 2006 à 13:49
0
Utile
Oui, mais bon ya pas de méthode addActionListner pour cet objet. Et ya pas du tout de listener tout cour.
Ya pas une autre solution?
Commenter la réponse de cs_bordeaux
cs_laurent1024 987 Messages postés mardi 31 mai 2005Date d'inscription 30 août 2012 Dernière intervention - 20 déc. 2006 à 15:03
0
Utile
Quand tu va cliquer sur ton onglet, tu va avoir acces au panel associe, tu peux donc avoir un actionlistener a ce moment la.
++
Commenter la réponse de cs_laurent1024

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.