2010-09-24 14 views
1

Je fais une boîte de dialogue pour la application.And Je veux récupérer les valeurs des autres champs (comme textField) sur la base valeur de la zone de liste déroulante. Quelqu'un peut-il me dire comment lier ces deux composants? -Merci à l'avancecomment modifier les valeurs des autres champs dans la boîte JDialog en fonction de la valeur en zone de liste déroulante

+0

sont les « autres domaines » et « zone de liste déroulante » dans la même boîte de dialogue « boîte"? –

+0

oui tous les deux sont dans la même boîte de dialogue. –

+0

Voir ma réponse à une question similaire http://stackoverflow.com/questions/3787056/linking-jcombobox-values-with-jtextfield-values/3788729#3788729 –

Répondre

1

Il n'y a pas de méthode magique pour seulement « relier » composants. D'après votre question, je comprends que vous voulez interpréter les données dans un champ de texte basé sur le choix actuel d'une liste déroulante ou quelque chose comme ça? Ainsi, lorsque vous lisez vos données, utilisez JComboBox.getSelectedItem()/getSelectedIndex() pour appliquer votre logique.

Si vous souhaitez modifier les données dans d'autres domaines, ou les désactiver, en fonction d'un choix actuel, ajouter un écouteur:

comboBox.addActionListener(new ActionListener() { 
    public void actionPerformed(ActionEvent e) { 
     int index = combo.getSelectedIndex(); 
     if (index == 0) { 
      //disable some textfields or change format if it's a JFormattedField 
     } 
    } 
});