2017-03-20 27 views
0

我有一個JPanel包含JCheckBox字段的列表,我希望它們按特定順序顯示。我被告知可以創建視圖模型來對這些複選框進行排序。我對Swing很陌生,不知道如何繼續下去。我無法在互聯網上準確找到任何來源。有人能幫助我找出實現上述的方法嗎?提前致謝。如何創建控制複選框顯示的自定義模型?

+1

只需按照您希望顯示的順序添加它們即可。如果你想要更多的控制,你可以使用'GridBagLayout' – MadProgrammer

+0

無法按照我想要的順序添加它們(因爲有一些限制)。 – user2028015

+0

然後使用一個佈局管理器,它允許你控制定位,就像GridBagLayout – MadProgrammer

回答

1

它看起來像你想創建一個模型控制在視圖顯示的數據。一種方法是爲模型創建合適的TableModel,並使用JTable作爲視圖。您的TableCellRenderer可以調節顯示器的顏色和啓用狀態;您執行Comparable將定義排序順序。

在這個競爭exampleclass DataModel extends AbstractTableModel被轉發到Double來管理List<Value>,並Value implements Comparable<Value>。您的實施將爲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一個實例來管理單選按鈕之間的相互排斥。

相關問題