Я использую модель OutBeans Outline для создания TreeTable, метод описан здесь :
Все выглядит красиво и чисто, и теперь я хочу добавить 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:
}
//...
}