0
我试图为我的撤消功能删除一个元素,但我想删除添加到JTree的最后一件事。如何从JTree中删除一个元素而不使用.getSelectionPath()进行选择?
对于去除,我只是修改我的方法切割:
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)这似乎是'我如何获得对非选定节点的引用?'。是对的吗? – 2012-07-18 01:34:19