从JXTreeTable中获取选定的值

use*_*002 6 java object selected tablemodel jxtreetable

我正在构建一个treetable使用JXTreeTabble,我想menu根据所选值禁用/能够项目.所以,我试着把这个代码放在我的table model:

public Object getValueAt(int index) {
        if (index >= 0 && index < root.getSize()){
            return root.get(index);
        }

        return null;

    }
Run Code Online (Sandbox Code Playgroud)

问题

以上仅适用于table未扩展内容的情况.由于indexselected row可能是比较大size的T的able model(模型可以有两个项目和行可以有10当一切都展开).此外,它object typeparent不同之处children(想象一本带有章节的书,因为它的孩子).

你有什么建议正确地做到这一点?

And*_*ner 7

假设index是您的行号,请尝试以下方法来获取节点对象:

TreePath path = treetable.getPathForRow(index);
Object node = path.getLastPathComponent();
Run Code Online (Sandbox Code Playgroud)

where treetable表是使用此表模型指向表的指针.


zel*_*ler 0

视图和模型中的索引可能有所不同。您必须首先使用调整所选行的索引convertRowIndextToModel()