0
내 실행 취소 기능을 위해 요소를 제거하려고하지만 JTree에 마지막으로 추가 된 것을 제거하려고합니다. 제거를위한 .getSelectionPath()를 사용하여 요소를 선택하지 않고 JTree에서 요소를 제거하려면 어떻게해야합니까?
는 그냥 잘라 내 방법을 수정 해요 :private void performUndoAction() {
if (tree != null) {
TreePath path = tree.getSelectionPath();
if (path != null) {
DefaultMutableTreeNode node = (DefaultMutableTreeNode) path.getLastPathComponent();
if (node != tree.getModel().getRoot()) {
DefaultMutableTreeNode parent = (DefaultMutableTreeNode) node.getParent();
if (node.getUserObject() instanceof Attribute) {
Attribute at = (Attribute) node.getUserObject();
at.getParent().removeAttribute(at);
cut = at;
}
else if (node.getUserObject() instanceof Element) {
Element el = (Element) node.getUserObject();
el.getParent().removeContent(el);
cut = el;
} else if (node.getUserObject() instanceof Text) {
cut = ((Text) node.getUserObject()).getText();
Element el = (Element) parent.getUserObject();
el.setText("");
}
parent.remove(node);
tree.updateUI();
}
}
}
}
1) 더 빨리 도움을 받으려면 [SSCCE] (http://sscce.org/)를 게시하십시오. 2) 이것은 '선택되지 않은 노드에 대한 참조를 얻는 방법은 무엇입니까?' 그게 맞습니까? –