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 :

[JComboBox] Comment répérer (uniquement) la sélection d'un item par une manoeuvre manuelle (souris)


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mars 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2007
    Messages : 8
    Par défaut [JComboBox] Comment répérer (uniquement) la sélection d'un item par une manoeuvre manuelle (souris)
    Bonjour à tous,

    Toutes mes excuses d'avance si la question a déjà été soumise.

    Je suis confronté à une petite galère en ce moment. J'aimerais
    en effet pouvoir différencier la sélection manuelle (via la souris)
    d'un item de la sélection standard automatique (via un setSelected
    Item ou Index).

    J'ai essayé d'utiliser un mouseListener pour régler l'affaire, mais je
    n'ai pas su le gérer convenablement.

    Merci d'avance pour vos propositions.

  2. #2
    Membre Expert Avatar de Ivelios
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2008
    Messages
    1 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 031
    Par défaut
    Quelle est la question exactement?
    Tu veux savoir si l'utilisateur à choisi quelquechose dans la JComboBox; Ou s'il n'a rien fait? C'est ça?

  3. #3
    Membre régulier
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mars 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2007
    Messages : 8
    Par défaut
    En effet j'aimerais savoir si la sélection d'un objet dans une combo box
    a été faite manuellement par l'utilisateur (à la souris ou bien au clavier),
    contrairement à une action qui viendrait d'un setSelectedItem ou d'un
    setSelectedIndex qui pourrait par exemple être appelé à la suite d'un
    évènement survenu sur un autre composant.

  4. #4
    Membre Expert Avatar de Ivelios
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2008
    Messages
    1 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 031
    Par défaut
    Tu peux envoyer ton code avec le mouselistener.
    Tu pourrais essayer de rajouter une condition à l'intérieur qui ressemblerais à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if( instead of (JComboBox)){
    ...
    }
    C'est une piste mais il doit y avoir plus simple je pense... reste à trouver

  5. #5
    Membre régulier
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mars 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2007
    Messages : 8
    Par défaut [Partiellement Résolu]
    Je n'ai pas trouvé de solution "propre" à mon problème. Cependant
    pour résoudre la situation à laquelle j'étais confrontée, j'ai écrit une
    JComboBox très simple, ne changeant de la JComboBox native de java
    qu'avec le code réécrit de la méthode fireActionEvent qui me permet
    d'inhiber le message actionPerformed suivant mes désirs.

    class MyTestComboBox extends JComboBox {
    private final boolean[] modeManuel = new boolean[1];

    public MyTestComboBox(){
    super();
    modeManuel[0] = true;
    }

    @Override
    protected void fireActionEvent() {
    synchronized (modeManuel) {
    if (modeManuel[0]){
    super.fireActionEvent();
    }else{
    modeManuel[0] = true;
    }
    }
    }

    /**
    * @return the modeNormal
    */
    public void setModeManuel(final boolean modeManuel) {
    synchronized (this.modeManuel) {
    this.modeManuel[0] = modeManuel;
    }
    }
    }

    =======================================================
    Merci pour ton aide.

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

Discussions similaires

  1. Sélection nom de module par une variable
    Par MarneusCalgarXP dans le forum Langage
    Réponses: 9
    Dernier message: 12/07/2007, 15h05
  2. Réponses: 11
    Dernier message: 15/06/2007, 18h43
  3. Réponses: 3
    Dernier message: 29/08/2006, 13h50
  4. Réponses: 1
    Dernier message: 12/07/2006, 10h51
  5. Réponses: 3
    Dernier message: 11/12/2005, 12h15

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