2011-02-09 4 views
0

가능한 중복 :
Synchronized JList and JComboBox?동기화 된 JList 및 JComboBox?

안녕하세요, 자바 스윙에서

는, 즉 데이터의 관점에서 동기화 할하는 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);