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 :

doClick() et JButton


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 27
    Par défaut doClick() et JButton
    Bonjour,

    Je simule un clique sur un JButton de cette façon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
            if (e.getKeyCode() == 38) {
                this.panelControl.getJButtonUp().doClick(1000);
            }
    Je voie que le bouton est bien cliqué (grâce au setPressedIcon). Cependant MousePressed ne "capture" rien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
        public void mousePressed(final MouseEvent e) {
            if (e.getComponent().getName().equals("up")) {
                buttonPressed = true;
                Thread t = new Thread(new Runnable() {
     
                    public void run() {
                        while (buttonPressed) {
                            JButtonPan tmp = (JButtonPan) e.getSource();
                            Vector3f v = new Vector3f(0, trans, 0);
                            tmp.getObj().getTmpTrans().setTransform(move(e, v));
                            try {
                                Thread.currentThread().sleep((long) (10 + 100 / lin));
                                lin++;
                            } catch (InterruptedException e) {
                                return;
                            }
                        }
                    }
                });
                t.start();
            }
            if
    Quand je clique avec ma souris, cela fonctionne. Une idée ?

  2. #2
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    C'est normal. Tu n'as pas cliqué avec la souris donc mousePressed n'est pas appelé.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  3. #3
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 27
    Par défaut
    Citation Envoyé par dinobogan Voir le message
    C'est normal. Tu n'as pas cliqué avec la souris donc mousePressed n'est pas appelé.
    doClick : "This does the same thing as if the user had pressed and released the button"
    C'est quand même sensé clicker !

    J'ai finalement utiliser le changeListener :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    this.JButtonUp.addChangeListener(new PanListener());
     
    ....
     
    public class PanListener extends Thread implements ChangeListener {
        private float trans = 0.01f;
        private int lin = 1;
        public void stateChanged(ChangeEvent e) {
            final JButtonPan tmp = (JButtonPan) e.getSource();
     
            if (tmp.getName().equals("up")) {
                Thread t = new Thread(new Runnable() {
                    public void run() {
                        while (tmp.getModel().isPressed()) {
                            Vector3f v = new Vector3f(0, trans, 0);
                            tmp.getObj().getTmpTrans().setTransform(move(tmp, v));
                            try {
                                Thread.currentThread().sleep((long) (10 + 100 / lin));
                                lin++;
                            } catch (InterruptedException e) {
                                return;
                            }
                        }
                    }
                });
                t.start();
            }
    ....

  4. #4
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Citation Envoyé par forumde Voir le message
    doClick : "This does the same thing as if the user had pressed and released the button"
    C'est quand même sensé clicker !
    Non, c'est agir sur le bouton. Ca simule l'effet obtenu juste après une action sur un bouton (clic souris, raccourci clavier, barre d'espace...).
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  5. #5
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 27
    Par défaut
    Citation Envoyé par dinobogan Voir le message
    Non, c'est agir sur le bouton. Ca simule l'effet obtenu juste après une action sur un bouton (clic souris, raccourci clavier, barre d'espace...).
    Quelle coquine cette Javadoc (Et ils racontent des conneries alors dans les forums SUN !!)

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

Discussions similaires

  1. [JButton] Mouvements souris + MousePressed
    Par Devil Redneck dans le forum Composants
    Réponses: 8
    Dernier message: 17/05/2004, 17h49
  2. Réponses: 5
    Dernier message: 17/05/2004, 15h29
  3. [JButton] ActionListenner, ActionPerformed
    Par ArchFolken dans le forum Composants
    Réponses: 6
    Dernier message: 04/05/2004, 10h41
  4. [debutant] ajouter ImageIcon dans un Jbutton
    Par agugu dans le forum Composants
    Réponses: 4
    Dernier message: 25/04/2004, 22h40
  5. Comment redimensionner un jbutton ?
    Par Ares dans le forum JBuilder
    Réponses: 13
    Dernier message: 29/09/2003, 16h42

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