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 :

[Débutant][JFormattedTextField] Tread séparé pour selectAll


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 209
    Par défaut [Débutant][JFormattedTextField] Tread séparé pour selectAll
    Bonjour
    toujours dans l'étude de la page http://java.sun.com/docs/books/tutor...textfield.html
    et en particulier du programme http://java.sun.com/docs/books/tutor...InputDemo.java
    je trouve une partie du code suivant

    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
        /**
         * Called when one of the fields gets the focus so that
         * we can select the focused field.
         */
        public void focusGained(FocusEvent e) {
            Component c = e.getComponent();
            if (c instanceof JFormattedTextField) {
                selectItLater(c);
            } else if (c instanceof JTextField) {
                ((JTextField)c).selectAll();
            }
        }
     
        //Workaround for formatted text field focus side effects.
        protected void selectItLater(Component c) {
            if (c instanceof JFormattedTextField) {
                final JFormattedTextField ftf = (JFormattedTextField)c;
                SwingUtilities.invokeLater(new Runnable() {
                    public void run() {
                        ftf.selectAll();
                    }
                });
            }
        }
    Sur chaque composant il a été enrigistré un addFocusListener(this) donc lorsque l'un de ces composants reçoit le focus la méthode
    focusGained(FocusEvent e) est appelée pour permettre de sélecter (mettre en surbrillance ) le texte que contient ce composant

    Ma question: Pourqoi avoir un tread séparé ( dans la méthode selectItLater(Component c) pour faire cette instruction lorsqu'il s'agit d'un JFormattedTextField
    C'est juste pour comprendre le pourqoi de la chose
    Merci

  2. #2
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Aller hop direction ce cours de gfx: Threads et performance avec Swing

    Il y a la réponse à ta question et un bon nombre de principes à respecter impérativement si tu veux développer en swing

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 209
    Par défaut
    D'accord pour le tread séparé mais pourquoi uniquement sur le JFormattedTextField ??

  4. #4
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Car celui possède des informations de mise en forme dans son contenu et peut causer des problèmes si le selectAll est effectué en dehors de l'EDT je présume, mais là celà semble un peu bizarre de ne pas le faire sur le JTextfield...

Discussions similaires

  1. Réponses: 4
    Dernier message: 18/01/2005, 18h49
  2. [Débutant] Quel langage choisir pour débuter ?
    Par Invité dans le forum Débuter
    Réponses: 15
    Dernier message: 05/07/2004, 22h13
  3. [débutant]Quel fichier à joindre pour directdraw ?
    Par lvdnono dans le forum DirectX
    Réponses: 3
    Dernier message: 31/05/2004, 12h01
  4. [débutant] filtrer un fichier pour afficher des infos
    Par Valichou dans le forum API standards et tierces
    Réponses: 7
    Dernier message: 21/04/2004, 11h44
  5. Réponses: 4
    Dernier message: 06/11/2003, 10h37

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