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

SWT/JFace Java Discussion :

Event clic sur combo


Sujet :

SWT/JFace Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 22
    Par défaut Event clic sur combo
    Bonjour,

    J'ai un petit soucis que je vais vous exposer.
    En fait j'ai une CCombo qui contient une liste de noms de serveurs.
    Cette liste est mise à jour via une méthode updateServerList.

    En fait je souhaite abonner ma combo à un évènement qui ferait un updateServerList de manière à avoir la dernière liste de serveurs.

    Mon problème vient du fait que je voudrais que l'update de la liste soit fait après que j'ai cliqué sur la flêche à droite de la liste déroulante.

    Ce système m'éviterait d'avoir à mettre un bouton refresh ou alors d'intercepter l'évènement MouseEnter qui rechargerait la liste trop souvent.

    Si quelqu'un a une idée...

    Encore Merci.

  2. #2
    Rédacteur

    Avatar de Mickael Baron
    Homme Profil pro
    Ingénieur de Recherche en Informatique
    Inscrit en
    Juillet 2005
    Messages
    14 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche en Informatique
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2005
    Messages : 14 974
    Par défaut
    Salut,

    Je sais que CCombo est composé d'un Text et d'un Bouton (également d'une Shell avec une liste pour afficher le contenu dans la Combo).

    Essaye de voir si tu ne peux pas au niveau du bouton faire un abonnement sur le message mouseDown. A ce moment là avant l'affichage de la liste, tu la mets à jour.

    Mickael
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Ingénieur de Recherche en informatique au LIAS / ISAE-ENSMA
    Page de Developpez.com : mbaron.developpez.com
    Twitter : www.twitter.com/mickaelbaron
    Blog : mickael-baron.fr
    LinkedIn : www.linkedin.com/in/mickaelbaron
    DBLP : dblp.uni-trier.de/pers/hd/b/Baron:Micka=euml=l

  3. #3
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2006
    Messages
    218
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Août 2006
    Messages : 218
    Par défaut
    Alors j'ai regardé le code de CCombo, et à ta place je reprendrais
    le code de ce widget en y ajoutant simplement un "getter" sur le bouton
    (qui s'appelle ARROW).
    Puis je ferais comme mickael (ajout d'un selectionListener sur la flèche).

    Laurent

  4. #4
    Rédacteur

    Avatar de Mickael Baron
    Homme Profil pro
    Ingénieur de Recherche en Informatique
    Inscrit en
    Juillet 2005
    Messages
    14 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche en Informatique
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2005
    Messages : 14 974
    Par défaut
    Ah oui c'est vrai, le problème avec CCombo et la plupart des API Eclipse, la classe est final (pas d'héritage possible) et pour enfoncer le clou les attributs sont en visibilité par défaut (visible uniquement dans le même package). Sinon il y a un autre moyen pas trop propre mais bon qui fonctionne, c'est passer par la réflexivité pour atteindre la référence de l'attribut arrow.

    Je sais je sors

    Mickael
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Ingénieur de Recherche en informatique au LIAS / ISAE-ENSMA
    Page de Developpez.com : mbaron.developpez.com
    Twitter : www.twitter.com/mickaelbaron
    Blog : mickael-baron.fr
    LinkedIn : www.linkedin.com/in/mickaelbaron
    DBLP : dblp.uni-trier.de/pers/hd/b/Baron:Micka=euml=l

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 22
    Par défaut
    Merci messieurs.

    Bon alors je suis parti bille en tête pour récupérer sur le site d'eclipse les sources du plugin SWT via mon eclipse et l'import de projet CVS.
    Tout se passe bien jusque là.
    Je fais la petite modif qui consiste à ajouter un getter sur l'object Button arrow.

    Et là maintenant il me faut recompiler tout cela.

    Le problème lorsque je recompile tout cela me crée un jar swt.jar.

    Et moi je voudrais pouvoir récupérer le plugin swt complet recompilé sour la forme org.eclipse.swt.[OS].[version].jar pour pouvoir l'utiliser dans ma console eclipse RCP.

    Sauriez vous comment faire ?

    Merci.

  6. #6
    Rédacteur

    Avatar de Mickael Baron
    Homme Profil pro
    Ingénieur de Recherche en Informatique
    Inscrit en
    Juillet 2005
    Messages
    14 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche en Informatique
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2005
    Messages : 14 974
    Par défaut
    Pourquoi es-tu obligé de reconstruire l'archive de SWT ? Tu devrais plutôt fournir un nouveau plugin avec uniquement le nouveau CCombo

    As-tu au moins essayer de voir si la solution de mouseDown te satisfaisait ?

    Mickael
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Ingénieur de Recherche en informatique au LIAS / ISAE-ENSMA
    Page de Developpez.com : mbaron.developpez.com
    Twitter : www.twitter.com/mickaelbaron
    Blog : mickael-baron.fr
    LinkedIn : www.linkedin.com/in/mickaelbaron
    DBLP : dblp.uni-trier.de/pers/hd/b/Baron:Micka=euml=l

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 22
    Par défaut
    Salut,

    Pour ce qui est de la méthode du mouseDown que tu cites, il faut (si je ne me trompe) que je récupère l'object Button : Arrow. Et ensuite que j'abonne ce bouton au listener sur l'action mouseDown.

    Et pour récupérer ce Bouton il faut ajouter le getter getArrow dans la class CCombo du plugin SWT.

    C'est pourquoi je voudrais pouvoir recompiler ce plugin une fois le getter ajouté.

    (à moins que je me trompe complètément ce qui est fort possible également)

    Sinon j'essaie de voir comment fournir uniquement un nouveau plugin avec uniquement la class CCombo modifié mais je ne vois pas comment faire. C'est la première fois que je modifie des plugins ou crée des plugins et je suis un peu perdu...

    Merci pour votre aide.

  8. #8
    Rédacteur

    Avatar de Mickael Baron
    Homme Profil pro
    Ingénieur de Recherche en Informatique
    Inscrit en
    Juillet 2005
    Messages
    14 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche en Informatique
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2005
    Messages : 14 974
    Par défaut
    Par rapport à ma précédente demande, je sous entendais que tu crées ta propre classe du style CComboAToi (qui n'est en fait qu'une recopie) et tu rendes l'attribut arrow accessible.

    Concernant le plugin ce n'est pas difficile. Utilises le wizard d'Eclipse et tu y places ta classe. Ne pas oublier d'exposer cette classe.

    Mickael
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Ingénieur de Recherche en informatique au LIAS / ISAE-ENSMA
    Page de Developpez.com : mbaron.developpez.com
    Twitter : www.twitter.com/mickaelbaron
    Blog : mickael-baron.fr
    LinkedIn : www.linkedin.com/in/mickaelbaron
    DBLP : dblp.uni-trier.de/pers/hd/b/Baron:Micka=euml=l

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 22
    Par défaut
    Merci Mickael,

    En fait j'ai fait un mélange monstre dans ma tête, quand Meddle m'a indiqué dans son post de reprendre le code de ce widget (CCombo) en y ajoutant simplement un "getter" sur le bouton je suis parti bille en tête pour modifier les sources de ce widget recompiler le tout et hop emballé pesé...

    Alors que tout bêtement il suffisait de créer ma propre classe MyCCombo reprenant le code de CCombo et de l'insérer dans mon projet (comme tu me l'as conseillé dans ton dernier post).

    Pour en revenir au problème que j'ai eu, j'ai donc créé ma propre class MyCCombo, j'ai recopié dedans le code de la class CCombo et j'ai ajouté le getter getArrow() qui me renvoie le bouton avec une flêche à droite de la CCombo.
    Il ne me restait plus alors qu'à abonner ce bouton à un Listener sur le mouseDown et le tour est joué.

    Encore merci pour ce coup de main.

    Pour la partie création de plug-in je regarderais ça plus tard.

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

Discussions similaires

  1. [Jlist] Clic sur jlist
    Par bibx dans le forum Composants
    Réponses: 6
    Dernier message: 07/05/2004, 10h19
  2. [C#] problème si clic sur "précédent"
    Par moimoimoi dans le forum ASP.NET
    Réponses: 13
    Dernier message: 11/03/2004, 15h30
  3. Réponses: 9
    Dernier message: 23/02/2004, 19h14
  4. Gérer les clics sur les boutons
    Par cyberlewis dans le forum Windows
    Réponses: 4
    Dernier message: 08/02/2004, 15h34
  5. capter l'evenement clic sur une cellule d'un string grid
    Par lasconic dans le forum Composants VCL
    Réponses: 3
    Dernier message: 25/06/2003, 10h51

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