我需要在我的JXTreeTable
中询问有关节点选择的一些提示。
我为它添加了一些节点,并希望通过程序选择一个节点作为Default。我选择节点的测试函数如下所示:
public void setSelectionTest()
{
Object dfltObj;
TreeSelectionModel tsm = jttRulesSet.getTreeSelectionModel();
TreeTableModelRules ttm = (TreeTableModelRules)jttRulesSet.getTreeTableModel();
TreePath tp;
dfltObj = ttm.getChild(ttm.getRoot(), 0);
if( (dfltObj != null) )
{
System.out.println("Node to select: " + dfltObj.getClass());
tp = new TreePath(dfltObj);
tsm.setSelectionPath(tp);
jttRulesSet.scrollPathToVisible(tp);
}
我的测试功能用于验证效果:
public void getSelectionTest()
{
TreeSelectionModel tsm;
TreePath treeSelPath;
Object dfltNode;
tsm = jttRulesSet.getTreeSelectionModel(); // get treeselectionmodel
treeSelPath = tsm.getSelectionPath(); // get selected path
if(treeSelPath != null)
{
dfltNode = treeSelPath.getLastPathComponent();
System.out.println("Selected node: " + ((RulesSet) dfltNode).getName()); // info bout the selected path
System.out.println("Selected node: " + tsm.getSelectionCount());
}
}
我获取所选行的名称和编号。到目前为止还好。但JXTreeTable
显示没有选择。 jttRulesSet.expandPath(tp)
行也没有效果。必须有一个未被发现的事实...
有人可以给我任何提示来解决这个问题吗?