Actualisation de champs

Résolu
guewen56 Messages postés 33 Date d'inscription   Statut Membre Dernière intervention   -  
guewen56 Messages postés 33 Date d'inscription   Statut Membre Dernière intervention   -
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. KX Messages postés 19031 Statut Modérateur 3 020
     
    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.
    0
    1. guewen56 Messages postés 33 Date d'inscription   Statut Membre Dernière intervention  
       
      Bonjour,

      Merci KX pour ta réponse.

      Je vais tester cette solution.
      0
    2. guewen56 Messages postés 33 Date d'inscription   Statut Membre Dernière intervention  
       
      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.
      0