IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AWT/Swing Java Discussion :

un JTabbedPane Listener?


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 5
    Par défaut un JTabbedPane Listener?
    Salut tout le monde

    Je suis relativement débutant en Java, et je me casse présentement la tête avec mon JTabbedPane...

    J'ai donc un JTabbedPane contenant 3 onglets. En dessous de mon JTabbedPane, j'ai un panel remplit de JTextField, une sorte de formulaire si vous voulez. Je veut qu'un de mes onglets permette la modification de mes JTextField (appelons-le l'onglet modif). Lorsque c'est un ou l'autre des onglets qui est valide, mes champs texte sont setEditable(false). J'active ou désactive mes champs avec un Change Listener sur mon TabbedPane.

    Toutefois, je cherche un moyen de savoir quelle onglet était sélectionné avant de faire mon changement d'onglet, de sorte à pouvoir faire les validations que je veut. En gros, quand l'utilisateur est dans l'onglet modif, s'il tente de changer d'onglet, je veut valider s'il a modifié un ou plusieurs champs. S'il n'a rien modifié, je laisse le changement d'onglet se faire. Si par contre il a modifié des trucs, je veut annuler son changement d'onglet et lui demander de sauvegarder ses modifications ou de les annuler avant de quitter l'onglet.

    J'ai fait quelque chose de semblable avec mes champ texte. S'il y a un problème, avertit l'utilisateur et garde le focus sur le champs. Mais avec les onglets... je voit pas... quelqu'un a une idée?

    Merci d'avance pour l'aide!

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 179
    Par défaut
    Bonjour,

    Pour les TabbedPane, c'est un ChangeListener que tu devras implémenter.
    En l'associant à ton JTabbedPane avec addChangeListener(), il sera appellé chaque fois que l'utilisateur tente de changer d'onglet.

    Fred

  3. #3
    Nouveau membre du Club
    Inscrit en
    Avril 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 5
    Par défaut
    Hum, j'ai déja un ChangeListener qui me permet de mettre en setEditable(false) mes champs texte, mais je n'arrivais juste pas a intercepté un changement d'onglet.

    J'ai fouillé un peu... et j'ai trouvé le componentListener, qui combiner à la fonction "componentHidden" m'a fait penser que je pourrais intercepter le changement puisque le changement commence probablement par caché l'onglet en cours et ensuite faire apparaitre celui demandé.

    Toutefois, le problème c'est que je n'arrive pas à empêcher le changement d'onglet... je dois faire quoi? Il y a des fonctions .setVisible, voir .setEnabled, mais il ne font rien puisque j'imagine que je ne peut pas changer le statut de l'onglet puisque le changement semble déja avoir été effectuer...

    Merci pour ton aide.... je suis un peu perdu

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 179
    Par défaut
    Je te confirme que le ChangeListener est appelé pour notifier le changement d'onglet. Il te suffit de faire tes tests de validité et si tu souhaites interdire le changement d'onglet, utiliser la méthode setSelectedIndex() avec le numéro d'onglet sur lequel tu souhaites revenir.

    Fred

  5. #5
    Nouveau membre du Club
    Inscrit en
    Avril 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 5
    Par défaut
    Voila j'ai résolu mon problème!!!

    En gros, ma logique fonctionnait, mais je m'y prenais de la mauvaise façon pour annuler le changement d'onglet

    Donc merci a toi pour ton aide kwxyz

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [JButton][JTabbedPane] Problème avec un listener
    Par mitnick2006 dans le forum Composants
    Réponses: 14
    Dernier message: 16/08/2008, 19h28
  2. Ajouter un listener mouse a jtabbedpane
    Par opensource dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 22/02/2008, 17h07
  3. Listener sur un JPanel
    Par ptitelfe dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 27/03/2004, 13h14
  4. TNS:listener could not resolve SERVICE_NAME given in connect
    Par Sinclair dans le forum Administration
    Réponses: 15
    Dernier message: 20/08/2003, 17h26
  5. DoubleClick Listener & ENTER
    Par Pro_Fete dans le forum Composants
    Réponses: 4
    Dernier message: 27/01/2003, 13h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo