2017-08-23 149 views
0

我試圖填充名爲cmb_course組合框中的選項,該選項將被從我在Microsoft Access數據庫中抽取的,我的問題是下面無法使用組合框的變量名稱不同類

cmb_course.addItem(rs.getString("courseName")); 

cmb_course被以紅色突出顯示,並顯示錯誤

「找不到符號符號:變量cmb_course位置:類 學生」

我的主要文件是studentForm.java

其中名爲cmb_course已創建組合框是studentJframe.java

,最後我創造了另一個類,這是我在哪裏試圖建立功能student.java文件。

我已經研究過關於使用getter和setter來達到這個目的,但我對jframe相當陌生,並不能完全理解這個概念,因爲這還沒有被教授解釋給我們,但它是作爲我們項目的一部分給出的

我希望有人能詳細說明這個問題。

public class student { 
     final String K_LIB = "jdbc:ucanaccess://"; 
     final String K_DB_LOC = "C://"; 
     final String K_DB_NAME = "students.accdb"; 
     String configuration = K_LIB + K_DB_LOC + K_DB_NAME; 

public void fillComboBox(){ 

    try{ 
     Connection conn = DriverManager.getConnection(configuration); 
     Statement s = conn.createStatement(); 
      ResultSet rs=s.executeQuery("Select courseName from course"); 
      while(rs.next()){ 
       cmb_course.addItem(rs.getString("courseName")); 
      } 
     } 
    catch(Exception e){ 
     System.out.println(e.getMessage()); 
    } 

} 

}

+0

這是真的,沒有在該類名稱*** cmb_course ***下聲明的引用.... –

+0

編譯器如何能夠猜測** cmb_course **聲明瞭什麼或在哪裏。 –

+0

它不知道在哪裏搜索'cmb_course',因爲你沒有告訴它。嘗試,例如,爲'fillComboBox()'方法添加參數,在該方法中將傳遞JFrame。 –

回答

0

將如何編譯器會知道cmb_combo變量在StudentForm.java聲明。

您可以在Student.java類中創建一個getter方法,該方法將結果集。從StudentForm.java類調用Student.java類的getter方法,並捕獲變量中的返回值。