代码之家  ›  专栏  ›  技术社区  ›  titaniumdecoy Mr. T

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

  •  4
  • titaniumdecoy Mr. T  · 技术社区  · 15 年前

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

    我想把 JTextField的属性 名称 在JTable中选择的Cow对象的属性。

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

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

    文本字段的绑定值始终为空。

    3 回复  |  直到 15 年前
        1
  •  0
  •   JRL    15 年前

    你的 Cow 班级有一个 public String getName() 方法返回名称?

    如果没有,你得到的结果是意料之中的。如果是的话,你能发布更多的代码吗(你的数据类,tablemodel,table…)。

        2
  •  0
  •   Avall    14 年前

    如果您只对表中的字符串感兴趣,而不是对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());
            }
        }
    );
    
        3
  •  0
  •   Waldheinz    14 年前

    您的Cow类是否支持添加 PropertyChangeListener ? 我没有经常使用NetBeans的bean绑定支持,但我记得您需要它。不管怎样,再多一点代码就可以帮助找出哪里出了问题。