如何创建控制复选框显示的自定义模型?

时间:2017-03-20 07:21:07

标签: java swing

我有JPanel包含JCheckBox字段的列表,我希望它们按特定顺序显示。我被告知可以创建一个视图模型来对这些复选框进行排序。我对Swing很新,不知道如何继续前进。我无法在互联网上找到任何来源。有人可以帮助我找到实现上述方法的方法。提前谢谢。

1 个答案:

答案 0 :(得分:1)

您似乎想为控制视图中显示的数据创建模型。一种方法是为模型创建合适的TableModel,并为视图使用JTable。您的TableCellRenderer可以调节显示器的颜色和启用状态;您的Comparable实现将定义排序顺序。

通过转发class DataModel extends AbstractTableModel来竞争exampleList<Value>以管理Value implements Comparable<Value>Double。您的实现将为Enabled添加一个属性,并将其包含在您所需方法的实现中。概括地说,

private static class Value implements Comparable<Value> {

    private Boolean selected;
    private Boolean enabled;
    private Double value;

    public Value(Boolean selected, Boolean enabled, Double value) {
        this.selected = selected;
        this.enabled = enabled;
        this.value = value;
    }

    @Override
    public int compareTo(Value v) {…}

    @Override
    public boolean equals(Object v) {…}

    @Override
    public int hashCode() {…}
}

此相关example使用MyObjectManager的实例来管理单选按钮之间的互斥。