我正在使用 JXTreeTabble
构建一个 treetable
,我想根据所选值禁用/启用 menu
项目。所以,我尝试将此代码放入我的表模型
中:
public Object getValueAt(int index) {
if (index >= 0 && index < root.getSize()){
return root.get(index);
}
return null;
}
问题
以上仅在 table
的内容未展开时有效。因为 selected row
的 index
可能比 table model
的 size
大(模型可以有当一切都展开时,两个项目和行可以有 10 个)。此外,parent
的object type
不同于children
(想象一本书的章节作为它的 child )。
您建议如何正确执行上述操作?
最佳答案
假设 index
是您的行号,请尝试以下操作来获取节点对象:
TreePath path = treetable.getPathForRow(index);
Object node = path.getLastPathComponent();
其中 treetable
将是指向使用此表模型的表的指针。
关于java - 从 JXTreeTable 中获取选定的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7963287/