2013-05-04 4 views
0

나는 데이터베이스 Patients_DetailsJCombobox Listener 항목을 선택했을 때 JCombobox Listener를 활성화하는 방법은 무엇입니까?

public void ComboItem() { 

chooser.removeAllItems(); 
chooser.addItem("Please Select..."); 
try { 
     String sql="select * from Patients_Details"; 
     pst = conn.prepareStatement(sql); 
     rs=pst.executeQuery(); 
     while (rs.next()) { 
      String id = rs.getString("Patient_ID"); // Get the Id 
      String name = rs.getString("Name"); // Get the Name 

      ComboItem comboItem = new ComboItem(id, name); // Create a new ComboItem 
      chooser.addItem(comboItem); // Put it into the ComboBox 
      String tmp=comboItem.getid(); 
     } 
    } catch (SQLException sqle) { 
     System.out.println(sqle); 
    } 
} 

이 이름 만이 아닌 ID를 반환 comboitem 클래스에서이다에서 이름을 표시하는 JComboBox를

public String toString() { 
    return this.name ; 
    } 

내 질문은 내가 그렇게되어 selectedItem을 얻는 방법이다 이 작업을 수행 할 수있는 실마리가 없습니다.이 작업을 수행하는 방법에 대한 실마리가 없습니다. 거의 2 시간 동안 모든 코드를 시험해 보았습니다. 어떤 도움을 많이 주시면 감사하겠습니다.

NB 저는 Java Begi입니다. nner

private void chooserPopupMenuWillBecomeInvisible(javax.swing.event.PopupMenuEvent evt) { 

    try{ 
     String sql="select * from Patients_Details where Patient_ID=? "; 
     pst=conn.prepareStatement(sql); 
     rs=pst.executeQuery(); 
     if(rs.next()){ 
     String add1=rs.getString("Patient_ID"); 
     txtpatientid.setText(add1); 
     String add2=rs.getString("Name"); 
     txtname.setText(add2); 
     String add3=rs.getString("Age"); 
     txtage.setText(add3); 
     String add4=rs.getString("Gender"); 
     txtgender.setText(add4); 
     String add5=rs.getString("Date"); 
     txtdate.setText(add5); 
     } 
    } 
    catch(Exception e) { 
    JOptionPane.showMessageDialog(null,e); 
    } 
} 

답변

2

단순히 콤보 상자에 ActionListener을 추가하십시오. actionPerformed이 호출되면 선택한 값을 검색하여 필요한 메소드를 호출 할 수 있습니다.

예를 들면 다음과 같습니다.

chooser.addActionListener(new ActionListener() { 
    pubic void actionPerformed(ActionEvent evt) { 
     Object selectedValue = chooser.getSelectedValue(); 
     // carry on with what ever you need 
    } 
}); 

에서보세요 ...

자세한 내용은

+0

나에게 그것은 그래도 너무 감사 일하고 – kimuryan

+0

가서 해주지 나는 'object selectedValue = choo'에 약간의 변경을 가했다. ser.getSelectedIndex();' – kimuryan