我想盡可能地使用適當的模型委託模式在Swing中編寫一個漂亮的GUI。我有一個JComboBox,當更改時,需要使用新數據更新模型。要獲取當前選定的項目,我正在使用:在使用Swing +模型時會識別組合框取消選擇?
fooCombo.addItemListener(new ItemListener() {
public void itemStateChanged(final ItemEvent arg0) {
fooChangedHandler((Foo) fooModel.getSelectedItem());
}
});
其中返回數據更改爲一個很好的對象。但是,我找不到找到舊值的方法,所以我不知道需要更改哪個對象。這裏的任何想法?
我同意這是最簡單的解決方案。但是,我提出了一個自定義的ComboBoxModel,因爲Kieran說他希望儘可能地使用適當的Model-Delegate模式。我會說這通過將最後選擇的項目保持在模型之外來打破這種模式。 – Mark 2009-03-05 12:04:57