Actualisation de champs

Résolu
Bonjour à tous,

J'ai besoin dans une interface de saisir un code Postal (en JTextField) et une fois celui-ci saisit, fait afficher automatiquement la ville correspondante dans un JTextField.

J'ai aucune idée de comment cela peut fonctionner et si c'est possible.

Pouvez-vous me renseigner sur le sujet?

Merci d'avance pour vos réponses.

1 réponse

  1. Modérateur
    Bonjour,

    Tu peux ajouter un CaretListener au JTextField de code postal, qui va déclencher une action à chaque fois que sa valeur change. À ce moment là, tu récupères le code postal, tu en déduis la ville, et tu modifies la valeur du second champ en conséquence.

    Voir How to Write a Caret Listener

    Remarque : en France plusieurs villes peuvent avoir le même code postal (notamment les petits villages), il serait donc pertinent que le deuxième composant soit plutôt une JComboBox.
    1. Bonjour,

      Merci KX pour ta réponse.

      Je vais tester cette solution.
    2. Bonjour,

      J'ai trouvé une alternative au CaretListener pendant mes recherche et qui fonctionne :

               JTcp.getDocument().addDocumentListener(new DocumentListener() {
           	    private void updateData() {
           	        // mise à jour de l'attribut data
           	        data = JTcp.getText();
           	    }
           	 
           	    @Override
           	    public void changedUpdate(DocumentEvent e) {}
           	 
           	    @Override
           	    public void insertUpdate(DocumentEvent e) {
           	        // mise a jour quand du texte est inséré dans le champs
           	        updateData();
           	        
           	    }
           	 
           	    @Override
           	    public void removeUpdate(DocumentEvent e)  {
           	        // mise a jour quand du texte est supprimé dans le champs
           	        updateData();
           	    }
           	 
           	});


      Merci pour les renseignements.