无法将文本字段绑定到NetBeans中的JTable中的选定项

无法将文本字段绑定到NetBeans中的JTable中的选定项

问题描述:

我试图使用NetBeans将JTextField绑定到JTable的选定元素。无法将文本字段绑定到NetBeans中的JTable中的选定项

JTable从AbstractTableModel子类中获取其数据,该子类返回Cow对象。目前,每个Cow对象都通过其toString方法显示为一个String。

我试图将JtextField的文本属性绑定到在JTable中选择奶牛对象的财产。

我结合的JTextField的文本属性在NetBeans中:

flowTable[${selectedElement.name}]

这产生的生成的代码下面的行:

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"));

文本字段的结合的值总是空值。

我在做什么错?

+0

你能发布更多的代码吗(你的tablemodel,table ...) – JRL 2010-04-11 13:57:47

+0

我不再在这个项目上工作,因为我最终没有使用NetBeans绑定。 – titaniumdecoy 2011-01-23 08:49:02

您的Cow类是否有返回名称的public String getName()方法?

如果没有,你会得到的结果是预期的。如果是这样,你可以发布更多的代码(你的数据类,tablemodel,表...)。

如果你只是有兴趣在表中的字符串,而不是牛对象本身:

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

你好,你是什么意思由COLUMN_X ...是指引用一个固定的列号,我应该绑定文本字段? – Ahmed 2011-01-01 22:56:20

贵牛类支持添加PropertyChangeListener?我没有经常使用NetBeans的bean绑定支持,但我记得你需要它。无论如何,多一点代码可以帮助我们找出发生了什么问题。