编辑 JTree 节点时,该节点的用户对象会丢失(设置为字符串)。如何获取原始用户对象?因为我想获取用户对象的 id 以便更新数据库中编辑的名称。
我正在使用 TreeModelListener 的 treeNodesChanged 方法,如下所示。
public void treeNodesChanged(TreeModelEvent e) {
DefaultMutableTreeNode node;
node = (DefaultMutableTreeNode) (e.getTreePath().getLastPathComponent());
try {
int index = e.getChildIndices()[0];
node = (DefaultMutableTreeNode) (node.getChildAt(index));
} catch (NullPointerException ex) {}
System.out.println(node.getUserObject().getClass()); // my user object gone
}
那么有什么方法可以在编辑之前获取原始用户对象吗?任何要覆盖的 DefaultTreeCellRenderer 或 DefaultTreeCellEditor 方法?