我如何获得Combobox项目数?

时间:2014-06-04 10:23:22

标签: java swing jdbc jcombobox itemlistener

我有2个组合框combobox1(fogcomb)  填写电影标题,我想如果我选择在fogcomb中的第二项,然后int asd变量获得2值,如果我选择第4项,则值= 4

fogcomb2.addItemListener(new ItemListener(){
        @Override
        public void itemStateChanged(ItemEvent e){
            asd=fogcomb.getSelectedIndex();

            if (e.getItem().equals(tesztvalt)) {
    try {
      String sql="SELECT Idő,Terem FROM Idopontok I,Filmlista F WHERE Cím like'"+tesztvalt+"'and I.FKód=F.FKód and I.FKód='"+asd+"'"; 
                PreparedStatement pst = conn.prepareStatement(sql);
                ResultSet rs = pst.executeQuery();

                    while (rs.next()) {
                        String name=rs.getString("Idő");
                        String name2=rs.getString("Terem");
                        String name3="   ";
                        fogcomb2.addItem(name+name3+name2);             
                    }

                        }catch(Exception ex) {
                            JOptionPane.showMessageDialog(null, e);

3 个答案:

答案 0 :(得分:0)

如果您希望在JComboBox中获取所选内容的相应索引位置,则一旦getSelectedIndex()上的焦点丢失,您就可以致电JComboBox。请注意,getSelectedIndex()返回一个从0开始的值。因此,如果您希望第一个选择返回值1,则第二个选择返回值2,您可能希望为返回值添加+1,等

答案 1 :(得分:0)

由于索引基于0,您应该使用:

asd=fogcomb.getSelectedIndex() + 1;

修改

您正在将itemlistener添加到错误的组合框

fogcomb2.addItemListener(new ItemListener(){

应替换为:

fogcomb.addItemListener(new ItemListener(){

答案 2 :(得分:0)

只需:

 int size = jComboBox.getItemCount();