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

Composants Java Discussion :

[JComboBox] Evenements uniquement sur action utilisateur


Sujet :

Composants Java

  1. #1
    Candidat au Club
    Inscrit en
    Juin 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 6
    Points : 3
    Points
    3
    Par défaut [JComboBox] Evenements uniquement sur action utilisateur
    Bonjour,

    Après de nombreuses recherches galères, je souhaiterai trouver un moyen propre permettant de modifier l'item sélectionné d'une JCombobox sans que cela lève un évenement du style ItemChanged.

    Je voudrais que ces évenements ne soient levés que sur action utilisateur et non "système" (mon problème étant que dans mon application le système est maitre donc l'item sélectionné n'est pas forcément issu d'une action utilisateur, il ne faut donc pas que je repasse dans du code affichant des popups de validation....etc).

    Je souhaitais trouver une solution qui ne soit pas à base de booléen à modifier dans tous les sens. Si vous vous êtes déjà confronté à ce problème, je suis donc preneur de toutes vos idées et astuces :-)

    Bonne journée,
    Ouarou

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    299
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 299
    Points : 422
    Points
    422
    Par défaut
    Salut, en gros, tu fais un setSelectedItem() (ou similaire) sur tes composants et tu ne voudrais pas que cela déclenche un valueChanged() ??

    Je n'ai jamais eu le cas, alors je n'ai que des idées en vrac :
    - ne pas utiliser un actionlistener sur ton Combobox, mais un mouselistener...
    - removeListener / changement de valeur / addListener
    - de booléen à modifier dans tous les sens
    - ???

  3. #3
    Candidat au Club
    Inscrit en
    Juin 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Oui c'est bien cela mon problème.

    Peut être que la piste la plus envisageable pour l'instant est de se cabler en parallèle sur les mouseEvents et keyEvents (et oui parce qu'on peut changer l'item de la combo avec le clavier aussi ).

    En attendant, s'il y a d'autres idées...

    Rien ne semble donc être prévu dans le composant de base.

  4. #4
    Membre éclairé Avatar de Ceddoc
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2009
    Messages : 493
    Points : 698
    Points
    698
    Par défaut
    Tu peux aussi essayer de rajouter des tests sur les évènements déclencheurs des listeners non? Enfin c'est peut être une piste à creuser mais j'ai pas vérifié.

    edit: après vérification il y a une possibilité, sale je l'accorde mais une possibilité quand même, quelque chose du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    		comboBox.addActionListener(new ActionListener() {
     
    			public void actionPerformed(final ActionEvent e) {
    				if (e.getModifiers()==16){
    					//On fait l'action désirée
    				}
    			}
    		});
    J'ai testé avec un set selected Index et le getModifiers est à 0.

    edit2: par acquis de conscience j'ai vérifié avec la sélection clavier est malheureusement le getModifiers est aussi à 0

  5. #5
    Candidat au Club
    Inscrit en
    Juin 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Bon, une autre astuce, utiliser le PopupMenuListener qui donne l'information sur le fait que la popup va disparaitre donc que l'utilisateur a cliqué sur un item ou en dehors de la popup (ça marche quand même).

    [EDIT] Je confirme, ça marche pas mal. Resterait éventuellement à capitaliser cela dans une extension de la Jcombobox.

  6. #6
    Candidat au Club
    Inscrit en
    Juin 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Je ne connais pas ces modifiers, je vais me renseigner pour voir ce qu'on peut faire avec. Merci pour la piste.

Discussions similaires

  1. Réponses: 1
    Dernier message: 29/10/2012, 21h24
  2. actions utilisateurs pour tracer sur objet axes
    Par tubaas dans le forum Interfaces Graphiques
    Réponses: 3
    Dernier message: 10/12/2009, 14h51
  3. Utilisateur unique sur BDD
    Par fredjl dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 30/08/2007, 16h53
  4. compteur dynamique sur action utilisateur
    Par Goldorak2 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 18/07/2007, 14h26
  5. 2 actions sur evenement onchange sur champ Select
    Par falz222 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 31/08/2006, 20h59

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