2010-09-24 5 views
1

J'ai créé une application dans netbeans IDE 6.9 où j'ai besoin de définir des valeurs pour chaque valeur dans le jcombobox. Dans mon volet j'ai une liste déroulante et ci-dessous ce sont les champs de texte pour entrer des valeurs pour chaque valeur dans la liste déroulante. Quelqu'un peut-il suggérer comment lier la zone de liste déroulante avec textfield. Je veux dire qu'il y a des valeurs différentes pour chaque valeur dans la liste déroulante. Je veux que l'utilisateur sélectionne une valeur dans la liste déroulante, alors sa valeur correspondante devrait être affichée (si elle a déjà été entrée) sinon un espace devrait être affiché. Je veux que toutes les valeurs pour chaque valeur de combobox soient définies en une seule fois (l'utilisateur ne doit pas appuyer sur le bouton OK). -Merci à l'avancelier des valeurs jcombobox avec des valeurs jtextfield

Répondre

0

Je ne peux que deviner à partir de la question que chaque élément de votre liste déroulante est un objet et que vous voulez modifier plusieurs champs de l'élément sélectionné.

Vous pouvez utiliser un tas de champs de texte individuels, un pour chaque "valeur" de la "valeur sélectionnée dans la liste déroulante".

Une meilleure interface utilisateur serait un volet de propriété pour lister et modifier les champs. Le commercial PropertyGrid dans JIDE Grids peut réellement combiner la zone de liste déroulante et le volet de propriété en un seul endroit.

Vous pouvez valider chaque valeur de champ après sa saisie ou la valider lorsque l'éditeur perd le focus (par exemple lorsque vous sélectionnez un autre élément dans la liste déroulante).

2

Vous ne souhaitez pas utiliser un programme ActionListener? Puis, quand un ActionEvent se produit pour la zone de liste déroulante, vous pouvez remplir le champ de texte avec les valeurs de l'élément actuellement sélectionné? Et si vide puis leur permettre d'ajouter au champ de texte et avoir un ActionListener sur ce point où si la valeur ne figure pas dans la liste qui est dans la zone de liste déroulante pour l'ajouter à la liste dans la zone de liste déroulante?

1
jComboBox1.addItemListener(new ItemListener() 
     { 
     public void itemStateChanged(ItemEvent ie) 
     { 
      String str = (String)jComboBox1.getSelectedItem(); 

      jTextField1.setText(str); 
     } 
    });