在节点列中使用复选框的Swing Outline

时间:2015-07-06 19:38:56

标签: java swing jcheckbox jxtreetable jtreetable

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

我特别想找到一种方法,让对象的最左边有一个复选框。

有没有办法做到这一点,或者我更好地研究JXTreeTable?

1 个答案:

答案 0 :(得分:1)

正如所讨论的hereOutline要求您实施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()实现应该更新给定节点,因此渲染器会在编辑结束时看到新值。

image