ツリーノードの変更
1174 ワード
jtreeツリーノードを変更するには、ツリーノードの編集イベントを登録してから、編集クラスでeditingStoppedとeditingCanceledの2つの方法を書き換える必要があります.次のようにします.
:
tree.getCellEditor().addCellEditorListener(new Tree_CellEditorAction());
:
class Tree_CellEditorAction implements CellEditorListener {
public void editingStopped(ChangeEvent e) {
Object selectnode = tree.getLastSelectedPathComponent();
DefaultMutableTreeNode node = (DefaultMutableTreeNode) selectnode;
CellEditor cellEditor = (CellEditor) e.getSource();
String newName = (String) cellEditor.getCellEditorValue();
Object object = lastEditedNode.getUserObject();
node.setUserObject(newName);
DefaultTreeModel model = (DefaultTreeModel) tree.getModel();
model.nodeStructureChanged(node);
tree.setEditable(false);
}
public void editingCanceled(ChangeEvent e) {
editingStopped(e);
}
}