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

Data binding 无法将文本字段绑定到NetBeans中JTable中的选定项,data-binding,netbeans,jtable,javabeans,Data Binding,Netbeans,Jtable,Javabeans,我试图使用NetBeans将JTextField绑定到JTable的选定元素 JTable从AbstractTableModel子类获取数据,该子类返回Cow对象。目前,每个Cow对象通过其toString方法显示为字符串 我试图将JTextField的text属性绑定到JTable中选择的Cow对象的name属性 我将NetBeans中JTextField的text属性绑定到: 流程表[${selectedElement.name}] 这将生成以下生成的代码行: org.jdesktop.be

我试图使用NetBeans将JTextField绑定到JTable的选定元素

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

我试图将JTextField的text属性绑定到JTable中选择的Cow对象的name属性

我将NetBeans中JTextField的text属性绑定到:

流程表[${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"));
文本字段的绑定值始终为空


我做错了什么?

您的
Cow
类是否有一个
公共字符串getName()
方法返回名称


如果没有,你得到的结果将是意料之中的。如果有,您是否可以发布更多代码(您的数据类、tablemodel、table…。

如果您只对表中的字符串感兴趣,而不是对Cow对象本身感兴趣:

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());
        }
    }
);

您的Cow类是否支持添加
属性ChangeListener
?我没有经常使用NetBeans提供的bean绑定支持,但我记得您需要它。无论如何,多一点代码可能有助于找出问题所在。

您能发布更多代码(您的tablemodel、table…)吗?我不再从事这个项目,因为我最终没有使用NetBeans绑定。您好,您所说的列\u X是什么意思。。。这是指一个固定的列号,我应该用它来绑定文本字段吗?