2016-02-21 54 views
0

這是JComboBox的一個示例,其中包含帶ID和說明的自定義對象。 JCombobox string item (visible) and integer key (inherent)JTable和JComboBox for Swing中的數據庫外鍵:獲取/設置值

我有(一般)爲填充在各種JTable情況外鍵渲染值的各種這樣JComboBox對象。

我在JTable中繼承DefaultTableModel。我們會說我遵循上面的例子,並且爲外鍵字段實現VectorItem(ID可能不對應於列表索引)。 JComboBox選擇索引如何或在哪裏設置?

+0

編輯 - 添加:我在看起來像我只需要處理我在我的子類'DefaultTableModel'中做的事情。所以我將不得不在模型中使用我的'Item'類型,或將其綁定到該代碼。 –

回答

3

JComboBox選擇索引如何設置或在哪裏設置?

您需要實現Item類的equals(...)方法。

@Override 
public boolean equals(Object object) 
{ 
    Item item = (Item)object; 
    return value.equals(item.getValue()); 
} 

上述代碼取自Combo Box With Hidden Data,其中包含更完整的Item類實現。

然後您將Item對象存儲在TableModel中。編輯單元格時,將在組合框中選擇該項目。

+0

謝謝!我有它的工作。唯一不起作用的是當我點擊單元格時。該列表下降了,但值顯示在單元格中(而不是描述)。我通過評論getListCellRendererComponent()中檢查(index == -1)的業務來修復它, –