【发布时间】:2015-07-30 21:30:54
【问题描述】:
使用本手册 (http://www.comp.nus.edu.sg/~cs3283/ftp/Java/swingConnect/tech_topics/tables-trees/tables-trees.html) 我正在尝试为我的项目的 Swing 用户界面创建树表。
在我的表类的构造函数中,我重新定义了这样的渲染:
public class JTreeTable extends JTable {
public JTreeTable(ITreeTableModel treeTableModel) {
super();
...
setDefaultRenderer(ITreeTableModel.class, tree);
...
}
}
treeTableModel 是我的实现
interface ITreeTableModel extends TreeModel
在结果表中看起来接近我想要的,但我有几个问题:
我的代码中的字段 (ID) 定义为对象,但实际上它代表数字(1、2、3 等)。如何更改字段 ID 的表示?
-
我的表中的节点不展开。 但是
public int getChildCount(Object parent_object_id)
返回数字 > 0
附言我知道可能没有足够的信息来直接回答,但我至少需要一个可以继续调查的方向。
【问题讨论】:
-
A
JTree将使用节点的toString方法来生成输出。您可以更改toString方法返回的内容或使用TreeCellRenderer(最好) -
@MadProgrammer 谢谢你的建议。它对我有用(JTree 将使用节点的 toString 方法生成输出)。第二种方法有点复杂:-)
-
不要重新发明轮子,也不要费心(不重写BasicsTreeXxx,两个Renderer,两个模型都不容易,XxxCellEditor太难了,没有优秀的知识)1.买Jide,2.SwingX有很好的解决方法
-
@mKorbel 谢谢你的建议。我已经下载了 SwingX 演示。它看起来不错,并且包含 TreeTable 类
-
也可以考虑
Outline。
标签: java swing jtreetable