Java 从MySql数据库检索JCombobox值

Java 从MySql数据库检索JCombobox值,java,mysql,swing,jcombobox,Java,Mysql,Swing,Jcombobox,我使用以下代码从Sql DB中检索数据。从数据库中检索StudName和StudId。StudName将显示JComboBox。但是如何在Messagebox中显示StudId。如果我在组合框中选择第一条记录,则表示我需要消息框中相应的Id。如何执行此操作? 提前谢谢 public class FrmeA extends javax.swing.JFrame { FrmA1 f1=new FrmA1(); Statement TmpFlxTSt=nul

我使用以下代码从Sql DB中检索数据。从数据库中检索StudName和StudId。StudName将显示JComboBox。但是如何在Messagebox中显示StudId。如果我在组合框中选择第一条记录,则表示我需要消息框中相应的Id。如何执行此操作? 提前谢谢

public class FrmeA extends javax.swing.JFrame  {

          FrmA1 f1=new FrmA1();
          Statement TmpFlxTSt=null;
          ResultSet TmpFlxTRs=null;
          GContnStr GCS=new GContnStr();

        public FrmeA() {
             initComponents();
        }
    public void combo(){

         try{
                    GCS.GContnStr();
                    TmpFlxTSt= GCS.GCotnStr.createStatement();
                    String select = "Select StudId,StudName from studentmaster";
                    TmpFlxTRs = TmpFlxTSt.executeQuery(select);
                      while(TmpFlxTRs.next()){
                       cbx.addItem(TmpFlxTRs.getString("StudName"));
                       Object comboitem=cbx.getSelectedItem();

                   }
                        TmpFlxTRs.close();
                        TmpFlxTSt.close();
            }
               catch(Exception e){
                   System.out.println(e);

        }

    }

创建一个带有ID和名称的
Student
类,以及一个返回名称的
toString()
方法,并将
Student
的实例添加到组合框中,而不是添加名称。
getSelectedItem()
方法将返回一个
Student
,您只需调用
getId()
即可获取其ID

从数据库中检索StudName和StudId。StudName将显示JComboBox。但是如何在Messagebox中显示StudId

您可以使用JOptionPane来实现此目的,类似这样的功能

String message = TmpFlxTRs.getString("StudId");
JOptionPane.showMessageDialog(parent, message);
如果我选择组合框中的第一条记录,意味着我需要消息框中相应的Id。如何做到这一点


为此目的配置actionlistener,或者最好使用iTestateChanged listener。

最终字符串addid=TmpFlxTRs.getString(“StudId”)的可能重复项;cbx.addItemListener(new ItemListener(){public void itemStateChanged(ItemEvent ie){System.out.println(addid);JOptionPane.showMessageDialog(null,“+addid);}});如果我像这样使用ItemStateChanged,我会显示所有的学生Id。但是我如何才能为单击的学生显示正确的Idname@javabeginner我不太清楚你在说什么:(你能发布一个吗?顺便说一句,试试这种方法,combobox.getselectedItem会返回学生姓名,用它来查询数据库,比如从数据库中选择StudID,其中StudName=combobox.getselectedItem.toString(),在这种情况下,你只有一个结果。干杯。@Java初学者希望你没有复制粘贴查询:)错误是什么?