2011-02-09 23 views
0

可能重複:
Synchronized JList and JComboBox?同步JList和JComboBox?

你好,

在Java Swing的,什麼是對一個JList和JComboBox中的數據,即方面要同步的最佳途徑,在任何給定的時間點都有相同的物品清單?基本上,如果我將項目添加到(或從中刪除項目),另一個應該自動反映更改。 我試着做以下,但它似乎並沒有工作:

JList list = new JList(); 
JComboBox comboBox = new JComboBox(); 
DefaultListModel listModel = new DefaultListModel(); 
// add items to listModel... 
list.setModel(listModel); 
comboBox.setModel(new DefaultComboBoxModel(listModel.toArray())); 

回答

3

你在你的代碼中創建兩個型號。當您通過傳遞listModel內容來構造新的DefaultComboBoxModel時,您構建的第二個模型只是以與第一個模型相同的內容開始。他們不會更新相同的。您希望這兩個組件共享一個模型。換句話說......

JList list = new JList(); 
JComboBox comboBox = new JComboBox(); 
DefaultComboBoxModel listModel = new DefaultComboBoxModel(); 
// add items to listModel... 
list.setModel(listModel); 
comboBox.setModel(listModel);