我做的这个是tree的可以自行增加、删除与修改节点的程序,在增加部分有个问题不明白~,大家看看关键代码部分:
public void addButton_actionPerformed(ActionEvent e) {
DefaultMutableTreeNode dmtn = new DefaultMutableTreeNode("新节点");
TreePath treePath = jTree1.getSelectionPath();
DefaultMutableTreeNode treeNode = (DefaultMutableTreeNode)
treePath.getLastPathComponent();
treeNode.insertNodeInto(dmtn,treeNode.getChildCount());
jTree1.scrollPathToVisible(new TreePath(dmtn.getPath()));
}
为什么这样的新增加节点只可以是一个??就是说我按了按扭第一次可以增加,但第二次按就没反应了,而我改了用DefaultTreeModel来增加问题就解决了,为什么?看看下面代码:
public void addButton_actionPerformed(ActionEvent e) {
DefaultMutableTreeNode dmtn = new DefaultMutableTreeNode("新节点");
TreePath treePath = jTree1.getSelectionPath();
DefaultMutableTreeNode treeNode = (DefaultMutableTreeNode)
treePath.getLastPathComponent();
///////dtm是我前面添加的DefaultTreeModel的实例
dtm.insertNodeInto(dmtn,treeNode,treeNode.getChildCount());
jTree1.scrollPathToVisible(new TreePath(dmtn.getPath()));
}
这样问题就解决了~~为什么一定要用model???不用可以吗??请高手说说Model的用处和说说为什么我第一个程序这样写不行,谢谢,再线等待~~
public void addButton_actionPerformed(ActionEvent e) {
DefaultMutableTreeNode dmtn = new DefaultMutableTreeNode("新节点");
TreePath treePath = jTree1.getSelectionPath();
DefaultMutableTreeNode treeNode = (DefaultMutableTreeNode)
treePath.getLastPathComponent();
treeNode.insertNodeInto(dmtn,treeNode.getChildCount());
jTree1.scrollPathToVisible(new TreePath(dmtn.getPath()));
}
为什么这样的新增加节点只可以是一个??就是说我按了按扭第一次可以增加,但第二次按就没反应了,而我改了用DefaultTreeModel来增加问题就解决了,为什么?看看下面代码:
public void addButton_actionPerformed(ActionEvent e) {
DefaultMutableTreeNode dmtn = new DefaultMutableTreeNode("新节点");
TreePath treePath = jTree1.getSelectionPath();
DefaultMutableTreeNode treeNode = (DefaultMutableTreeNode)
treePath.getLastPathComponent();
///////dtm是我前面添加的DefaultTreeModel的实例
dtm.insertNodeInto(dmtn,treeNode,treeNode.getChildCount());
jTree1.scrollPathToVisible(new TreePath(dmtn.getPath()));
}
这样问题就解决了~~为什么一定要用model???不用可以吗??请高手说说Model的用处和说说为什么我第一个程序这样写不行,谢谢,再线等待~~
DefaultMutableTreeNode dmtn = new DefaultMutableTreeNode("新节点");
TreePath treePath = jTree1.getSelectionPath();
DefaultMutableTreeNode treeNode = (DefaultMutableTreeNode)
treePath.getLastPathComponent();
treeNode.insertNodeInto(dmtn,treeNode.getChildCount()); //在这里打断点看看
jTree1.scrollPathToVisible(new TreePath(dmtn.getPath()));
}