我正在创建一个有房间的 JOutline,每个房间里面都有多个产品。您可以选择单个产品并点击详细信息,但我还需要能够使用复选框选择多个产品旁边的复选框。
我特别在寻找一种将复选框放在对象最左侧的方法。
有什么办法可以做到这一点,还是我最好研究一下JXTreeTable?
我正在创建一个有房间的 JOutline,每个房间里面都有多个产品。您可以选择单个产品并点击详细信息,但我还需要能够使用复选框选择多个产品旁边的复选框。
我特别在寻找一种将复选框放在对象最左侧的方法。
有什么办法可以做到这一点,还是我最好研究一下JXTreeTable?
如这里所讨论的,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
编辑/渲染方案来获取 type 的模型值Boolean
:
getColumnClass()
实施应返回相关列Boolean.class
。
isCellEditable()
实施应返回相关列 true
。
实现应该从getColumnClass()
给定节点返回值myModel
。
实现应该更新给定节点,因此setValueFor()
渲染器将在编辑结束时看到新值。