我正在创建一个有房间的JOutline,每个房间内都有多个产品。您可以选择单个产品并点击详细信息,但我还需要使用复选框选中多个产品旁边的复选框。
我特别想找到一种方法,让对象的最左边有一个复选框。
有没有办法做到这一点,或者我更好地研究JXTreeTable?
答案 0 :(得分:1)
正如所讨论的here,Outline
要求您实施RowModel
接口,该接口应传递给您的OutlineModel
构造函数。
class MyRowModel implements RowModel {…}
TreeModel myModel = new MyTreeModel(…);
OutlineModel outlineModel = DefaultOutlineModel.createOutlineModel(
myModel, new MyRowModel(), …);
Outline outline = new Outline();
outline.setModel(outlineModel);
在RowModel
的实施中,请按照熟悉的JTable
edit/render scheme获取Boolean
类型的模型值:
getColumnClass()
实施应返回相关列的Boolean.class
。
isCellEditable()
实施应返回相关列的true
。
getColumnClass()
实现应返回myModel
中给定节点的值。
setValueFor()
实现应该更新给定节点,因此渲染器会在编辑结束时看到新值。