0

我正在创建一个有房间的 JOutline,每个房间里面都有多个产品。您可以选择单个产品并点击详细信息,但我还需要能够使用复选框选择多个产品旁边的复选框。

我特别在寻找一种将复选框放在对象最左侧的方法。

有什么办法可以做到这一点,还是我最好研究一下JXTreeTable?

4

1 回答 1

1

如这里所讨论的,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()渲染器将在编辑结束时看到新值。

图片

于 2015-07-06T22:07:32.320 回答