2012-11-28 2 views
0

가능한 중복 :
Dynamic JComboBoxes여러 연결 콤보

나는 자바 프로그램에서 초보자입니다. 콤보 상자에 관한 내 프로그램에이 문제가 있습니다. 3 콤보 박스 (cbxType, cbxItem 및 cbxColor)가 있습니다. 두 번째 콤보 상자 (cbxItem)의 항목 목록이 첫 번째 (유형)를 기반으로 변경된 다음 세 번째 콤보 상자 (cbxColor) 항목 목록이 두 번째 항목 (cbxItem)의 선택한 항목을 기반으로 변경되었습니다. 나는 내 자신의 코드로이 문제를 해결하려고 노력했다. 두 번째 콤보 상자는 첫 번째 코드가 바뀌면 잘 작동하지만 세 번째 코드는 내가 바꾼 후에 어떤 항목도 표시하지 않는다. 여기 내 코드입니다. 당신의 도움들에 대한 감사와 내 나쁜 영어에 대한 미안 ..

private void viewCbxType(){ 
    String sql; 


try { 
    sql ="Select distinct productItem from Product "; 
    if(cbxType.getSelectedItem() != "<<Product Type>>"){ 

     String prType = cbxType.getSelectedItem().toString(); 

     sql ="Select distinct productItem from Product WHERE productType='" +prType+"'"; 



      cbxItem.removeAllItem(); 
      cbxItem.setSelectedIndex(0); 
     } 
    } 


    PreparedStatement st = conn.prepareStatement(sql); 
    ResultSet rs =st.executeQuery(); 



    while (rs.next()) { 
     String prItem = rs.getString("productItem"); 

     cbxItem.addItem(prItem); 

    } 
}catch (SQLException se) {} 
} 

나는 당신이 콤보에 액션 리스너를 구현 할 수 있습니다 내 첫 번째 콤보 상자에 대한의 actionPerformed에서 그 메소드를 호출하고 두 번째

+2

이이 사이트에 많은 시간을 물어 대답하고있다 ,이 스레드를 포함하여 : [동적 JComboBoxes] (http://stackoverflow.com/questions/3191837/dynamic-jcomboboxes), 그리고이 스레드 : [변경 요소의 jcombobox ...] (http://stackoverflow.com/ 질문/5336711/another-jcombob에서 선택에 따라 jcombobox-changing-elements-of-jcombobox). 이 질문을 사본으로 닫는 투표. –

답변

0

에 비슷한 만들기 상자 :

public class ComboBoxDemo ... implements ActionListener { 
    . . . 
     petList.addActionListener(this) { 
    . . . 
    public void actionPerformed(ActionEvent e) { 
     JComboBox cb = (JComboBox)e.getSource(); 
     String petName = (String)cb.getSelectedItem(); 
     updateLabel(petName); 
    } 
    . . . 
} 

이 액션 청취자는, 콤보 상자에서 새로 선택한 항목을 취득하는 이미지 파일의 이름을 계산하는 데 사용하고, 이미지를 표시하는 라벨을 업데이트합니다. 콤보 상자는 사용자가 콤보 상자의 메뉴에서 항목을 선택할 때 작업 이벤트를 시작합니다. 액션 청취자 구현에 대한 일반적인 내용은 액션 리스너를 작성하는 방법을 참조하십시오 :

http://docs.oracle.com/javase/tutorial/uiswing/events/actionlistener.html

이 당신에게 도움이 될 수있는 너무

http://docs.oracle.com/javase/tutorial/uiswing/components/combobox.html