2011-09-08 3 views
3

다음은 시나리오입니다. 데이터베이스에 3 개의 열 (id, name, age)이있는 테이블이 있습니다. 나는 3 개의 스윙 콤보 박스와 데이터베이스에 "select statement"를 보내고 comboboxes를 addItem(...)으로 채우는 버튼을 만들었습니다.
이제 combobox를 연결하여 "name"을 가져 오는 두 번째 콤보 상자에서 세 번째 콤보 상자에 적절한 "age"값이 표시되도록하는 방법을 알고 싶습니다. 버튼의자바 스윙 콤보 상자 선택 및 다른 콤보 상자에 대한 링크

내 ActionEvent의 :

jComboBox1.addItem(search.getInt("ID")); 
jComboBox2.addItem(search.getString("NAME")); 
jComboBox3.addItem(search.getString("AGE")); 

** search 내가 획득 된 ResultSet입니다!

미리 감사드립니다.

답변

3

이러한 작업을 수행하려면 사용자 지정 ComboBoxModel을 구현해야합니다.

당신은 setSelectedItem 방법 안에 당신의 선택의 논리를 넣을 수 있습니다

:

public class YourComboBoxModel implements ComboBoxModel{ 
    public void setSelectedItem(Object anItem){ 

    } 
    public Object getSelectedItem() {...} 
    public Object getElementAt(int index){...} 
    public int getSize() {...} 
} 

상대 JComboBox에의 희망의 ComboBoxModel 추가 모델을 변경

YourComboBoxModel model = new YourComboBoxModel(); 
JComboBox box = new JComboBox(); 
box.setModel(model); 
+0

1을; 'DefaultComboBoxModel'만으로도 충분합니다. 여기에 관련 예제가 있습니다 (http://stackoverflow.com/questions/3191882). – trashgod

+0

또는 http://stackoverflow.com/questions/6261017/how-to-add-different-jcombobox-items-in-a-column-of-a-jtable-in-swing/6261853#6261853 또는 http :// /stackoverflow.com/questions/6246005/jcombobox-change-another-jcombobox/6246655#6246655 +1 – mKorbel

+0

내가 이것을 시도하고 나중에 돌아 가자! 결국, 여전히 학습 과정에 있습니다! Txx – kevoroid