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 :

control d'un champ de text avec java


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 40
    Par défaut control d'un champ de text avec java
    j'ai un champ de text et un bouton
    au debut le bouton est invisible alors je veut dés j'ecrit qq chose dans le champ de text le bouton sera visible et l'orsque je l'eface alors le bouton revient invisible
    je cherche en java un solution pour faire cela
    merci

  2. #2
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 900
    Billets dans le blog
    54
    Par défaut
    Si tu utilises un JTextField alors il te faut mettre un DocumentListener sur le document contenu dans le champs texte (myTextField.getDocument()). Tu recevras alors les differents evenements d'edition.

    Si tu utilises un JFormattedTextField tu peux aussi utiliser un PropertyChangeListener sur la propriete "value". Attention en general cette propriete n'est modifiee que quand le composant perd le focus (donc pas pendant l'edition).
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 9
    Par défaut
    Bonjour,

    Pour ma part j'utiliserais ce genre de code :


    // Création des JTextField et JButton :
    final JTextField jText = new JTextField("");
    final JButton jButton = new JButton("monBouton");

    // Placement dans le panneau principal des éléments :
    jText.setBounds(5,5,tv.getWidth()-110,20);
    jButton.setBounds(jText.getX()+jText.getWidth()+5,jText.getY(),90,20);

    // Forcer le bouton à être invisible au début : (car le champ est vide)
    jButton.setVisible(false);

    // Ajout d'un écouteur sur le champ de texte :
    jText.addCaretListener(new CaretListener() {

    public void caretUpdate(CaretEvent arg0)
    {
    if ( !jText.getText().equals("") )
    {
    jButton.setVisible(true);
    }
    else
    {
    jButton.setVisible(false);
    }
    }

    });

    // Accrochage des deux éléments au panneau principal :
    jp.add(jText);
    jp.add(jButton);
    J'espère que le code est suffisament propre pour ne pas nécessiter plus de commentaires. Après bien sûr tu peux t'amuser à créer une classe spécifique de boutons réagissant à différents types d'évênements mais pour le moment, cette solution fonctionne.

    Bonne journée.

  4. #4
    Membre Expert
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 414
    Par défaut
    Bonjour,

    La solution avec le CaretListener n'est pas conseillé même si elle fonctionne. En effet cette classe est prévue pour "écouter" les modifications (position) du chariot (caret).

    +1 pour bouye

    C'est la méthode que je conseille car elle est plus "propre" du point de vue du concept "MVC" de Swing.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 9
    Par défaut
    Merci pour la remarque. Je vais suivre vos conseils.

    Bonne journée.

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 9
    Par défaut
    Désolé, c'est juste pour savoir si j'ai bien compris le principe. C'est avec ce type d'écouteur qu'il faut remplacer le caret ?

    jText.getDocument().addDocumentListener(new DocumentListener() {

    public void removeUpdate(DocumentEvent arg0) {
    if ( jText.getText().equals("") )
    {
    jButton.setVisible(false);
    }
    }

    public void insertUpdate(DocumentEvent arg0) {
    if ( !jText.getText().equals("") )
    {
    jButton.setVisible(true);
    }
    }

    public void changedUpdate(DocumentEvent arg0) {

    }

    });
    Merci beaucoup.

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

Discussions similaires

  1. basculer entre les champs de texte avec les flèches du clavier
    Par limy9 dans le forum Développement Web en Java
    Réponses: 2
    Dernier message: 24/01/2011, 15h49
  2. Annimation texte avec JAVA
    Par crespoo dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 26/07/2010, 16h53
  3. Transfert d'un fichier texte avec java
    Par mokhtarmaroc dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 25/08/2007, 10h58
  4. Un champ de texte avec plusieurs couleurs
    Par Robert Dumarais dans le forum Flash
    Réponses: 3
    Dernier message: 15/03/2007, 21h16
  5. Champ de text avec SDL.
    Par Postfsb dans le forum SDL
    Réponses: 5
    Dernier message: 05/07/2006, 14h55

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