2012-04-17 3 views
0

두 개의 콤보 상자가 있으며 둘 다 동일한 3 개의 문자열을 가지고 있습니다. 첫 번째 콤보 상자에서 문자열을 선택하면 해당 문자열을 두 번째 문자열에서 사라지게하므로 동일한 문자열을 다시 선택할 수 없습니다.관련 콤보 상자

final JComboBox comboBox = new JComboBox(); 

comboBox.setModel(new DefaultComboBoxModel(new String[]{"Rome","London","Paris"})); 

final JComboBox comboBox_1 = new JComboBox(); 

comboBox_1.setModel(new DefaultComboBoxModel(new String[{"Paris","London","Rome"})); 

답변

2

DefaultComboBoxModel 메서드 removeElement (Object anObject)는 찾고 계신 것입니까?

즉 첫 번째 ComboBox에 수신기를 추가하여 선택하면 다른 ComboBox의 모델에서 해당 선택 항목이 삭제됩니다.

+0

나는 그것을했지만, 같은 작업을 다시 수행하면 두 번째 문자열도 제거됩니다. 그래서 다른 도시를 세 번 선택하면 두 번째 콤보 상자가 비게됩니다. –

+0

@siemya - 이것은 javadoc에 설명 된대로 동작합니다. 당신이 의견을 감안할 때 removeAll()을 시도한 다음 첫 번째 ComboBox의 각 요소에 대해 addElement()를 시도 할 수 있습니다. 단, 선택한 요소는 예외입니다. 귀하의 질문에 사용자 경험이 어떤 것인지 분명하지 않기 때문에 ComboBoxModel 메서드로 게임을하는 것이 좋습니다. – amaidment