2013-05-04 2 views
0

У меня есть JComboBox, который отображает имя из Patients_Details базы данных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); 
    } 
} 

Это из comboitem класса, который возвращает только имя, а не идентификатор

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

Мой вопрос, как я могу получить SelectedItem так что это действие может быть выполнено. Я не знаю, как это сделать. Я пробовал всю кучу кода в течение почти двух часов. любая помощь будет очень благодарна.

NB Я - 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

Это работает спасибо так много, хотя я немного изменил объект objectValue = choo ser.getSelectedIndex(); ' – kimuryan

Смежные вопросы