我正在创建一个包含房间的 JOutline,每个房间内都有多个产品。您可以选择单个产品并点击详细信息,但我还需要能够使用复选框选择多个产品旁边的复选框。
我特别寻找一种将复选框放在对象最左侧的方法。
有什么办法可以做到这一点,还是我最好研究一下 JXTreeTable?
最佳答案
正如所讨论的here , Outline
需要您实现RowModel
接口(interface),应传递给您的 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()
实现应该更新给定节点,以便渲染器在编辑结束时看到新值。
关于java - 节点列中带有复选框的 Swing Outline,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31254237/