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 :

Edition d'un 'JTextComponent'


Sujet :

AWT/Swing Java

  1. #1
    Invité
    Invité(e)
    Par défaut Edition d'un 'JTextComponent'
    Bonjour,

    J'aimerais effectuer une action lorsque le contenu de mon composant texte (JTextFiled dans mon cas) vas-être édité.
    En gros je cherche une sorte de FocusListener sauf que j'aimerais travailler sur autre chose que le focus.

    Mon but étant par exemple d'afficher une dialogue avant que l'utilisateur ne modifie le contenu de mon JTextField. Avez-vous une idée de ce que je dois faire ?

    Merci

  2. #2
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Par défaut
    Tu peux ajouter un KeyListener à ton composant via la méthode KeyListener().

    Au sinon tu peux aussi essayer un PropertyChangeListener via la méthode addPropertyChangeListener().
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    myTextComponent.addPropertyChangeListener("text", new PropertyChangeListener() {
        public void propertyChange(PropertyChangeEvent evt) {
            String oldValue = (String) evt.getOldValue(); // Permet de récupérer l'ancienne valeur
            String newValue = (String) evt.getNewValue(); // Permet de récupérer la nouvelle valeur
            // traitement
        }
    });
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster ;) (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag :resolu:

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Oui merci mais ça ne me conviens pas car les actions sont déclenchées lorsque l'utilisateur commence à entrer son texte. Mon but est de lui placer une dialogue avant même qu'il commence à entrer du texte, juste au moment ou il se dis "je vais modifier ce texte" et qu'il place son curseur dans la zone.
    -> Vraiment comme un FocusLstener mais si je pouvais "surcharger' le moment ou il fait "fiireFocusGained..." ce serait 100 fois mieux..

    Je veux me placer juste entre le moment ou le focus arrive et ou "on" affiche le curseur clignottant

  4. #4
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Par défaut
    Citation Envoyé par Blaise1
    -> Vraiment comme un FocusLstener mais si je pouvais "surcharger' le moment ou il fait "fiireFocusGained..." ce serait 100 fois mieux..
    Ben tu peux le faire ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    myTextComponent.addFocusListener(new FocusListener() {
        public void focusGained(FocusEvent e) {
            // Traitement
        }
        public void focusLost(FocusEvent e) {
            // Traitement
        }
    });
    Remarque : si seule la méthode focusGained() t'intéresse, tu peux utilise un FocusAdapter à la place du FocusListener.

    Qu'est-ce qui ne te convient pas avec cette solution ?
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster ;) (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag :resolu:

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  5. #5
    Invité
    Invité(e)
    Par défaut
    Erf oui, je sais. C'est ce que je fais actuellement mais j'aimerais aller plus en profondeur dans le code.
    Pour résumé d'une autre façon, j'aimerais savoir lorsque le focus est placé sur mon composant sans utiliser de FocusListener (ou FocusAdapter).

  6. #6
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Par défaut
    Citation Envoyé par Blaise1 Voir le message
    Pour résumé d'une autre façon, j'aimerais savoir lorsque le focus est placé sur mon composant sans utiliser de FocusListener (ou FocusAdapter).
    Ben le FocusListener existe justement pour savoir quand un composant prend le focus. Je ne connais pas d'autres méthodes et je ne comprend pas trop l'intérêt de ta démarche .

    En gros tu veux faire quelque chose sans utiliser ce qui te permet de le faire .
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster ;) (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag :resolu:

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  7. #7
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par le y@m's Voir le message
    En gros tu veux faire quelque chose sans utiliser ce qui te permet de le faire.
    Ben au fur et à mesure de la discussion c'est aussi la conclusion à laquelle je suis arrivé. Je vais donc utiliser un FocusListener

    M'enfin bon, pour le fun j'aurais bien aimé trouver la partie du code ou ils décident que le composant à le focus ou pas..

  8. #8
    Invité
    Invité(e)
    Par défaut
    Ben non en fait le problème c'est qu'avec le FocusLIstener ma fenêtre s'affiche lorsque le JTextField reçoit le focus .
    Mais donc si il parcours les Composant avec la touche "TAB" la dialogue s'affiche quand même. Même si il ne veux pas editer le contenu.

    Je crois que je vais devoir me rabattre sur un KeyListener


    Voilà j'ai mieux pour poser ma question : Je voudrais savoir lorsque l'on rentre en edition.
    Avev une JTable, on rentre en edition lorsque l'lon double click sur la cellule (il place alors un editor au dessus etc..)
    Je ne sais pas si avec un JTextFiled il place un editor (apparemment non) mais je voudrais cerner se momement la. Je voudrais pour faire un "fireEditionStarted" pour que tous mes "EditionListener" sachent que quelqu'un désire modifier le texte..

Discussions similaires

  1. Réponses: 2
    Dernier message: 23/10/2002, 14h38
  2. [Kylix] Télécharger Kylix 3 Open Edition
    Par RDM dans le forum EDI
    Réponses: 2
    Dernier message: 27/08/2002, 12h28
  3. Hint et edit.enbled
    Par Invité dans le forum Composants VCL
    Réponses: 2
    Dernier message: 23/07/2002, 10h26
  4. Position du curseur dans Edit
    Par MrJéjé dans le forum C++Builder
    Réponses: 3
    Dernier message: 20/06/2002, 18h09
  5. Image et rich edit
    Par :GREG: dans le forum C++Builder
    Réponses: 2
    Dernier message: 13/05/2002, 12h33

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