【问题标题】:Using JTable for a JTree cell editor将 JTable 用于 JTree 单元格编辑器
【发布时间】:2011-03-26 19:45:20
【问题描述】:

我想使用 JTable 来编辑 JTree,我扩展了 DefaultTreeCellEditor 并实现了 isCellEditable getTreeCellEditorComponent,在 getTreeCellEditorComponent 中我返回了一个 JTable。到目前为止,当编辑节点时,一切都正常运行,显示填充了对象内容的 JTable,但是当编辑完成时,DefaultTreeModel 的 valueForPathChanged 永远不会被调用。如果我使用默认的文本字段进行编辑,一切正常。

【问题讨论】:

    标签: java swing jtable jtree


    【解决方案1】:

    JTextField 有一个名为“notify-field-accept”的notifyAction,通常绑定到KeyEvent.VK_ENTER,它将CellEditor 发送到stopEditing() 并最终调用DefaultTreeCellEditor 方法valueForPathChanged() .

    尚不清楚您如何表示您的 JTable 已完成编辑。您应该能够对通过addCellEditorListener() 添加到您的自定义编辑器的CellEditorListener 中的JTextField 执行类似的操作。

    顺便说一句,valueForPathChanged() 提到“如果您在 TreeModel 中使用自定义用户对象,您将需要对其进行子类化并将更改节点的用户对象设置为有意义的东西。”

    【讨论】:

      猜你喜欢
      • 2013-05-25
      • 2023-03-23
      • 2011-09-27
      • 2012-09-20
      • 1970-01-01
      • 2019-04-30
      • 1970-01-01
      • 2014-01-01
      • 2010-12-22
      相关资源
      最近更新 更多