我正在尝试使用http://java.sun.com/products/jfc/tsc/articles/treetable2/index.html中的示例,其中我用我的模型替换了文件系统模型。
我最初创建一个模型,我在JTreeTable
中显示它,但现在我想更新我的模型然后JTreeTable
(例如我想在树上添加一个节点,修改节点,删除节点等。)。
我不知道怎么做。我看不到允许我做我想做的方法,我只看到一些方法,如treeNodesChanged
,treeNodesInserted
等,但我可能会错过这个{{1的全局逻辑组件。
此外我不确定我是否正确创建模型,因为在各种示例中我看到人们在“模型”对象(JTreeTable
,model.insertNodeInto
)上调用各种方法,尽管我没有模型对象。在上面的例子中,简单地称为抽象类model.reload
,它实现了AbstractTreeTableModel
..
更新
TreeTableModel
在我的主课程中,我以这种方式将对象添加到我的模型中:
public class TableModel extends AbstractTreeTableModel
implements TreeTableModel {
static protected String[] cNames = {"TrackNumber", "MWRTN", "LSRTN", "RFTN","TrackStatus","Prova","Prova2"};
// Types of the columns.
static protected Class[] cTypes = {TreeTableModel.class,Integer.class, Integer.class, Integer.class, Integer.class,String.class,String.class};
private ArrayList<Object> data=new ArrayList<Object>();
public void insertNode(Object node)
{ this.data.add(node); super.setRoot(data.get(0));}
然后我将模型传递给我的...
model =new TableModel();
model.insertNode(threatList.get(i)); //inserting the root node
model.addChild(threatList.get(i),threatList.get(j)); // inserting the child
...
并将其添加到我的框架中:
JTreeTable
这是JTreeTable类:
treeTable = new JTreeTable(model);
JScrollPane scroll=new JScrollPane(treeTable);
scroll.setAutoscrolls(false);
scroll.setPreferredSize(new Dimension(1000,80));
frame.add(scroll);
在添加(或修改或删除)孩子之后,我想要发起一个事件。