Java 如何在从数据库获取值后清除jComboBox

Java 如何在从数据库获取值后清除jComboBox,java,swing,jdbc,jcombobox,comboboxmodel,Java,Swing,Jdbc,Jcombobox,Comboboxmodel,有人能帮我解决这个问题吗 在这里输入代码我想问的是,当从代码中的JCombox3中选择另一个值时,如何清除JcbSub(JCombox3): 1 private void jComboBox3ActionPerformed(java.awt.event.ActionEvent evt) { 2 Connection con; 3 Statement stmt; 4 try { 5 6 Class.forName("sun.jdbc.odbc.Jdb

有人能帮我解决这个问题吗

在这里输入代码我想问的是,当从代码中的JCombox3中选择另一个值时,如何清除JcbSub(JCombox3):

1 private void jComboBox3ActionPerformed(java.awt.event.ActionEvent evt) {
2    Connection con;
3    Statement stmt;
4    try {
5        
6        Class.forName("sun.jdbc.odbc.JdbcOdbc");
7    } catch (ClassNotFoundException ex) {
8        JOptionPane.showMessageDialog(null, ex);
9    }
10    try {
11       con= DriverManager.getConnection("Jdbc:Odbc:food");
12        stmt= con.createStatement();
13        String sql="select i_name from food where category= '"+ jComboBox3.getSelectedItem().toString()+"'";
14        ResultSet RS= stmt.executeQuery(sql);
15        JcbSub.setSelectedItem("");
16        while(RS.next()){
17            
18            JcbSub.addItem(RS.getString("i_name"));
19            
20            
21        }
22        
23       
24        
25    } catch (SQLException ex) {
26        Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
27    }
28    
29    
30   
31 }

你必须这样做

 private void jComboBox3ActionPerformed(java.awt.event.ActionEvent evt) {
    Connection con;
    Statement stmt;
 try {

    Class.forName("sun.jdbc.odbc.JdbcOdbc");
} catch (ClassNotFoundException ex) {
    JOptionPane.showMessageDialog(null, ex);
 }
  //add this to remove all Items
     JcbSub.removeAllItems();
 if(jComboBox3.getSelectedItem() == 0) {
  try {


     con= DriverManager.getConnection("Jdbc:Odbc:food");
     stmt= con.createStatement();
     String sql="select i_name from food where category= '"+jComboBox3.getSelectedItem().toString()+"'";
     ResultSet RS= stmt.executeQuery(sql);
     JcbSub.setSelectedItem("");
     while(RS.next()){

        JcbSub.addItem(RS.getString("i_name"));


    }



} catch (SQLException ex) {
    Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
}

}else if(jComboBox3.getSelectedItem()  == 1) {
//etc... 
}
// or use Switch case    

}

如果您希望人们阅读您的代码,请遵循标准Java变量命名约定。变量名(RS,JcbSub)不应以大写字符开头。感谢您的建议…我将在将来处理它…:-)