JCombobox Listener Wie wird es aktiviert, wenn ein Element ausgewählt wird?

Ich habe eine JComboBox, die den Namen aus der Datenbank "Patients_Details" anzeigt

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);
    }
}

Dies stammt aus einer Kombinationsklasse, die nur den Namen und nicht die ID zurückgibt

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

Meine Frage ist, wie ich das ausgewählte Element erhalte, damit diese Aktion ausgeführt werden kann. Ich habe keine Ahnung, wie dies zu tun ist. Ich habe fast 2 Stunden lang den gesamten Code ausprobiert. Jede Hilfe wird sehr geschätzt

NB Ich bin Java-Anfänger

  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 ); 
  }
}  

Antworten auf die Frage(1)

Ihre Antwort auf die Frage