【发布时间】:2010-01-18 22:46:46
【问题描述】:
我正在使用 NetBeans Outline 模型创建 TreeTable,该技术描述为 here:
一切看起来都很干净,我现在想在我的模型中添加一个 TreeModelListener 来监听模型中的变化:
Outline outline = new Outline();
MyNode root = new MyNode("data", 0);
//...
TreeModel treeMdl = new MyTreeModel(root);
OutlineModel mdl =
DefaultOutlineModel.createOutlineModel(treeMdl, new MyRowModel(), true, "Data");
mdl.addTreeModelListener(new MyTreeModelListener());
outline.setModel(mdl);
//...
public class MyTreeModelListener implements TreeModelListener {
public void treeNodesChanged(TreeModelEvent e) {
System.out.println("Something happend");
}
public void treeNodesInserted(TreeModelEvent e) {
// TODO Auto-generated method stub
}
public void treeNodesRemoved(TreeModelEvent e) {
// TODO Auto-generated method stub
}
public void treeStructureChanged(TreeModelEvent e) {
// TODO Auto-generated method stub
}
}
一切都按预期工作,但我的问题如下,我编写了自己的 TreeModel 类,这显然意味着我必须编写自己的 addTreeModelListener 方法,但我该怎么做呢?
public class MyTreeModel implements TreeModel {
private MyNode root;
public MyTreeModel(SdbNode root) {
this.root = root;
}
@Override
public void addTreeModelListener(TreeModelListener l) {
//TODO:
}
//...
}
【问题讨论】:
-
您能否发布一下您是如何实现从 NetBeans 大纲中删除节点的?