2010-04-01 7 views
4

J'essaie d'utiliser NetBeans pour lier un JTextField à l'élément sélectionné d'une JTable.Impossible de lier le champ de texte à l'élément sélectionné dans JTable dans NetBeans

La table JTable obtient ses données à partir d'une sous-classe AbstractTableModel qui renvoie des objets Cow. Actuellement, chaque objet Cow est affiché sous forme de chaîne via sa méthode toString.

J'essaie de lier le texte propriété du JTextField à la propriété du nom de l'objet de vache qui est sélectionné dans le JTable.

Je lié la propriété texte de la JTextField dans NetBeans à:

flowTable[${selectedElement.name}]

Ce produit la ligne suivante du code généré:

org.jdesktop.beansbinding.Binding binding = 
    org.jdesktop.beansbinding.Bindings.createAutoBinding(
    org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, 
    cowTable, 
    org.jdesktop.beansbinding.ELProperty.create("${selectedElement.name}"), 
    cowNameTextField, 
    org.jdesktop.beansbinding.BeanProperty.create("text"));

La valeur limite du champ de texte est toujours nul.

Qu'est-ce que je fais mal?

+0

Pouvez-vous poster plus de code (votre tableau de bord, table ...) – JRL

+0

Je ne travaille plus sur ce projet pour lequel j'ai fini par ne pas utiliser les liaisons NetBeans du tout. – titaniumdecoy

Répondre

0

Est-ce que votre classe Cow possède une méthode public String getName() renvoyant le nom?

Si ce n'est pas le cas, le résultat que vous obtenez serait attendu. Si c'est le cas, pourriez-vous poster plus de code (votre classe de données, tableau de bord, table ...).

0

Si vous ne souhaitez une chaîne dans la table, et non l'objet de la vache elle-même:

table.getSelectionModel().addListSelectionListener(new ListSelectionListener() { 
    @Override 
    public void valueChanged(ListSelectionEvent e) { 
     if(!e.getValueIsAdjusting()) { 
      Object value = table.getValueAt(e.getFirstIndex(), COLUMN_X); 
      jTextField.setText(value.toString()); 
     } 
    } 
); 
+0

Bonjour, qu'est-ce que vous voulez dire par COLUMN_X ... est-ce que cela fait référence à un nombre de colonnes constant avec lequel je suis censé lier le champ de texte? – Ahmed

0

Est-ce que votre soutien de classe de vache en ajoutant un PropertyChangeListener? Je n'ai pas souvent utilisé le support de liaison de beans de NetBeans, mais je me souviens que vous en aviez besoin. Quoi qu'il en soit, un peu plus de code pourrait aider à trouver ce qui ne va pas.

Questions connexes