2013-08-14 2 views
0

Я новичок в использовании JComboBox, я хотел заполнить JComboBox из моей базы данных MSAccess. У меня есть следующие коды:заполнить JcomboBox из базы данных MSAccess в java

public check_Writer() //Constructor 
{ 
    gui(); 
    fillCombo(); 
} 

public void gui() 
{ 
    JFrame mainFrame = new JFrame("Frame"); 
    mainFrame.setSize(500,500); 
    mainFrame.setVisible(true); 

    JPanel mainPanel = new JPanel(); 
    mainPanel.setBackground(color.BLUE); 
    mainFrame.add(mainPanel); 

    JComboBox listofSuppliersCombo = new JComboBox() 
    mainPanel.add(listofSuppliersCombo); 
} 
public void fillCombo() 
{ 
    String dataSourceName = "CheckWriterDB"; 
    String db = "jdbc:odbc:" + dataSourceName; 
    try 
    { 
     Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); 
     Connection conn = DriverManager.getConnection(db, "", ""); 
     Statement st1 = conn.createStatement(); 
     st1.execute("select Suppliers from SuppliersTable"); 
     ResultSet rs1 = st1.getResultSet(); 

     if (rs1!null) 
      { 
      while(rs1.next()) 
      { 
       System.out.println(rs1.getString(1)); 
      } 
      } 
    } 
    catch(Exception e) 
    { 
     JOptionPane.showMessageDialog(null, e) 
    } 
} 

} 

Я редактировал мою коду сэр, мой код работает нормально я могу напечатать мои данные в консоли, но я не могу заполнить мой JComboBox, я попробовал этот код, listOfSuppliersCombo.addItem (rs1.getString (1)); но сообщение об ошибке (java.lang.NullPointerException). Что-то не так с тем, как я создал свой поле со списком выше, большое спасибо, сэр.

+0

Сэр сделал некоторые корректировки в мои коды: –

ответ

0

Вы определили listofSuppliersCombo локально в функции gui, чтобы ссылаться на любой объект в двух разных режимах, вам нужно объявить его в верхней области.

Ваш код будет работать, если вы попробуете, как показано ниже:

JComboBox listofSuppliersCombo; 

public void gui() 
{ 
    //Your Code 
    listofSuppliersCombo=new JComboBox(); 
    //Your Code 
} 
public void fillCombo() 
{ 
    //Your Code 
    listofSuppliersCombo.addItem("Your Item"); 
    //Your Code 
} 
+0

я получил его, сэр, спасибо вам. –

Смежные вопросы