当前位置: 代码迷 >> J2EE >> 怎么清除JComboBox里的内容?
  详细解决方案

怎么清除JComboBox里的内容?

热度:528   发布时间:2016-04-22 02:25:20.0
如何清除JComboBox里的内容??
我其实是想实现JComboBox的动态更新。下面是c_or_in_class的监听器。c_or_in_class和c_or_in_proName都是JComboBox
Java code
class Classify implements ActionListener {        public void actionPerformed(ActionEvent e) {            try{                String CLASS=String.valueOf(c_or_in_class.getSelectedItem());                Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");                            Connection con=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=数据库课程设计","sa","123");                            Statement stmt=con.createStatement();                String SQL="SELECT distinct product_name FROM Product WHERE product_class='"+CLASS+"'";                System.out.println(SQL);                ResultSet rs=stmt.executeQuery(SQL);                while(rs.next()){                    c_or_in_proName.removeAllItems(); //如果有这条语句下拉列表里就只有一个Item                    c_or_in_proName.addItem(rs.getString(1));                                    }}catch(Exception ex){}                    }    }

我想让每次选择不同内容出来的都是他所对应的内容。但如果只是c_or_in_proName.addItem(rs.getString(1));
他会让下拉列表的选项一直增加,就有了很多重复的选项,但如果加了c_or_in_proName.removeAllItems(); 每次c_or_in_proName里出来的就只有一项了。
谁能帮帮我啊~~~谢谢各位大哥啦!!
PS:我不会用ComboBoxModel来刷新。。。如果能够详细讲讲这个就感激不尽了!!

------解决方案--------------------
Java code
class Classify implements ActionListener {        public void actionPerformed(ActionEvent e) {            try{                String CLASS=String.valueOf(c_or_in_class.getSelectedItem());                Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");                            Connection con=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=数据库课程设计","sa","123");                            Statement stmt=con.createStatement();                String SQL="SELECT distinct product_name FROM Product WHERE product_class='"+CLASS+"'";                System.out.println(SQL);                ResultSet rs=stmt.executeQuery(SQL);                c_or_in_proName.removeAllItems(); //在循环外面先移除所有选项                while(rs.next()){                    c_or_in_proName.addItem(rs.getString(1));                   }}catch(Exception ex){}                    }    }