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

 Java Discussion :

Changement d'état d'un bouton lors de la modification d'un JTextPane


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2012
    Messages : 51
    Par défaut Changement d'état d'un bouton lors de la modification d'un JTextPane
    Bonjour,

    J'aimerais savoir comment peut-on faire pour que notre bouton est son état modifié lors de la modification d'un champ de type JTextPane.

    Je m'explique : Lorsque l'un de ses champs est vide j'aimerais que le bouton soit inactif alors que quand il y a quelque chose à l'intérieur j'aimerais qu'il soit actif. J'ai cherché un Listener dans le genre ItemChangeListener mais il faut croire que ça ne marche pas pour ce type d'objet. Je me suis renseigné et j'ai vu que c'est possible avec l'interface DocumentListener mais je vous avouerais que je ne vois pas très bien comment m'en servir car je ne vois pas comment je vais réussir à intéragir sur le bouton que je souhaite.

    Quelqu'un pour éclairer ma lanterne s'il vous plait ?

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2012
    Messages : 51
    Par défaut
    Bon en faite ce n'étais pas si compliqué que ça avec quelques tutos. Il suffit de bien faire ça classe et de passer ce que l'on veut en paramètre du constructeur de notre listener.

    Voici un exemple pour ceux qui passeront après moi :

    Le listener que je créé :

    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    import javax.swing.JButton;
    import javax.swing.JTextArea;
    import javax.swing.JTextPane;
    import javax.swing.event.DocumentEvent;
    import javax.swing.event.DocumentListener;
     
    /**
     * This class is used to activate or disable the button "ok"
     * @author carlino
     */
    public class JtextpaneListener implements DocumentListener{
        private JButton button;
        private JTextPane c1, c2, c3;
        private JTextArea c4;
     
        public JtextpaneListener(JButton button, JTextPane c1, JTextPane c2, JTextPane c3, JTextArea c4) {
            this.button = button;
            this.c1 = c1;
            this.c2 = c2;
            this.c3 = c3;
            this.c4 = c4;
        }
     
        @Override
        public void insertUpdate(DocumentEvent e) {
            if (!("".equals(c1.getText())) && !("".equals(c2.getText())) && !("".equals(c3.getText())) && !("".equals(c4.getText())))
                button.setEnabled(true);
        }
     
        @Override
        public void removeUpdate(DocumentEvent e) {
            if ("".equals(c1.getText()) || "".equals(c2.getText()) || "".equals(c3.getText()) || "".equals(c4.getText()))
                button.setEnabled(false);
        }
     
        @Override
        public void changedUpdate(DocumentEvent e) {
     
        }
     
    }
    et l'ajout du listener au composant que je souhaite dans ma classe principale :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    distanceChoice.getDocument().addDocumentListener(new JtextpaneListener(Button_Ok,distanceChoice, connectionChoice, title, descriptionArea));
            connectionChoice.getDocument().addDocumentListener(new JtextpaneListener(Button_Ok,distanceChoice, connectionChoice, title, descriptionArea));
            title.getDocument().addDocumentListener(new JtextpaneListener(Button_Ok,distanceChoice, connectionChoice, title, descriptionArea));
            descriptionArea.getDocument().addDocumentListener(new JtextpaneListener(Button_Ok,distanceChoice, connectionChoice, title, descriptionArea));

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

Discussions similaires

  1. [AC-2003] Changement d'état d'un bouton
    Par Taiby dans le forum IHM
    Réponses: 4
    Dernier message: 17/04/2013, 17h27
  2. Changement d'état au click sur un bouton
    Par aiss57 dans le forum Flex
    Réponses: 3
    Dernier message: 20/05/2009, 16h52
  3. [réglé]changement d'état d'un radio bouton non pris en compte!
    Par leprogrammeurfou dans le forum ASP.NET
    Réponses: 2
    Dernier message: 12/06/2008, 15h32
  4. [Débutant] Etat d'un checkbox lors du changement d'état d'un select
    Par pottiez dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 23/10/2007, 00h42
  5. changement d'état d'un bouton
    Par steph6499 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 12/04/2007, 17h31

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