当前位置: 首页 > 面试题库 >

JCombobox Listener如何在选择项目时启用它?

微生善
2023-03-14
问题内容

我有一个显示来自数据库Patient_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  ;
   }

我的问题是如何获取选定的项目,以便可以执行此操作,我不知道如何执行此操作,我已经尝试了所有代码约2小时,将不胜感激

NB我是Java初学者

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

问题答案:

只需ActionListener在组合框中添加一个即可。当actionPerformed被调用时,你可以看一下所选择的价值和呼叫你需要什么都的方法。

例如:

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

看一下 …

  • 如何编写动作监听器
  • 如何使用组合框

更多细节



 类似资料:
  • 我有一个Facelets页面,其中包含

  • 问题内容: 我正在使用实质性的UI Select组件,并且试图在内部构建过滤器以仅显示与用户输入的内容匹配的项目。 我为正在开发的内容构建了一个最小的示例。 现在我的问题是,默认情况下,选择组件允许用户按下任何字母,并且如果存在第一个字母与用户输入匹配的选项,它将选择该选项。 所以,如果我有3个选项(,和)和用户类型选择部件将选择选项,我的文本字段不会改变的价值。但是,如果用户键入,则文本字段将更

  • 由于我是android工作室的新手,请耐心等待。我想制作一个滚动视图,包含具有相应名称(textview)的图像。我想能够通过在滚动视图中触摸它来选择一个图像,但我不知道如何选择。我已经实现了这样的滚动视图,我也想能够添加图片与一个名称附加到他们。 main_activity.xml ScrollView.xml mainactivity.java 如果这是正确的路径,我应该使用什么功能,我非常赞

  • 我想调用一个函数时,选择的任何选项。类似于这样: 但不知何故不起作用。有人能帮忙吗。 请注意 我不想捕获更改事件,如果我选择已经选择选项,则不会触发更改事件

  • 如果选择选项值是从循环中提取的,那么如何禁用该选项值?是否有其他方法解决此问题? 示例输出在循环和我想禁用选项值6和7。谢谢帮忙。

  • 我是maven新手,想用maven创建一个spring项目。下面提到的是我正在使用的命令: 它要求: 选择数字或应用筛选器(格式:[groupId:]artifactId,区分大小写包含): 它在要求什么?我试了所有的号码,我得到了这个消息: 请帮帮忙。