gpt4 book ai didi

java - 访问 netbeans 大纲中的树对象

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:57:36 24 4
gpt4 key购买 nike

我正在使用来自 netbeans 的 Outline 来显示一些结构化数据。

如何将选定的行映射到树中的对象?

最佳答案

您可以查看 Announcing the new Swing Tree Table today 中的示例.貌似作者是Creating a Data Model , 所以 Responding to Node Selection应该有帮助。我在 NetBeans 6.8 中找到类 org.netbeans.swing.outline.Outline:

NetBeans/platform11/modules/org-netbeans-swing-outline.jar

附录:

请注意 Outline 派生自 JTable,所以 How to Use Tables: User Selections可能会有帮助。基于上面引用的示例,这里有一个监听器,它显示在节点展开和折叠时行号的明显变化,并且选择保持不变:

outline.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
@Override
public void valueChanged(ListSelectionEvent e) {
int row = outline.getSelectedRow();
File f = (File) outline.getValueAt(row, 0);
if (!e.getValueIsAdjusting()) {
System.out.println(row + ": " + f);
}
}
});

虽然provisional ,您可能会查看 OutlineModelDefaultOutlineModel。前者实现了 TreeModelTableModel 并提供了 TreePathSupport;后者提到了“TableModelEvent 和 TreeModelEvent 之间的阻抗不匹配”。

JTable一样, View 中选择的行索引可能与模型中的相应行不匹配,可能是由于排序等原因。getValueAt()方法似乎调用 convertRowIndexToModel() 的便捷方式。这在 Swing 的可分离模型架构中很常见,它“将每个组件的 View 和 Controller 部分折叠成一个 UI(用户界面)对象”。参见 A Swing Architecture Overview .

关于java - 访问 netbeans 大纲中的树对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2841183/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com