2013-05-04 41 views
0

我有一个JComboBox,显示的名字从数据库Patients_Details的JComboBox监听器选择项时,如何启用它?

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类,只返回名称,而不是ID

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 2013-05-04 09:09:44

+0

它虽然工作非常感谢我已经作出'对象了selectedValue略有变化=噗ser.getSelectedIndex();' – kimuryan 2013-05-04 09:14:04