0
我有一個JPanel
包含JCheckBox
字段的列表,我希望它們按特定順序顯示。我被告知可以創建視圖模型來對這些複選框進行排序。我對Swing很陌生,不知道如何繼續下去。我無法在互聯網上準確找到任何來源。有人能幫助我找出實現上述的方法嗎?提前致謝。如何創建控制複選框顯示的自定義模型?
我有一個JPanel
包含JCheckBox
字段的列表,我希望它們按特定順序顯示。我被告知可以創建視圖模型來對這些複選框進行排序。我對Swing很陌生,不知道如何繼續下去。我無法在互聯網上準確找到任何來源。有人能幫助我找出實現上述的方法嗎?提前致謝。如何創建控制複選框顯示的自定義模型?
它看起來像你想創建一個模型控制在視圖顯示的數據。一種方法是爲模型創建合適的TableModel
,並使用JTable
作爲視圖。您的TableCellRenderer
可以調節顯示器的顏色和啓用狀態;您執行Comparable
將定義排序順序。
在這個競爭example,class 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
一個實例來管理單選按鈕之間的相互排斥。
只需按照您希望顯示的順序添加它們即可。如果你想要更多的控制,你可以使用'GridBagLayout' – MadProgrammer
無法按照我想要的順序添加它們(因爲有一些限制)。 – user2028015
然後使用一個佈局管理器,它允許你控制定位,就像GridBagLayout – MadProgrammer