我在將項目添加到 Java 中的 JcomboBox (Swing) 時遇到問題。我沒有錯誤,但由于該功能未添加任何項目,因此某些功能不起作用。我只想將 4 門課程(他們的課程名稱)添加到組合框的不同插槽中。構造函數(shù)應該添加元素。有人可以確定我做錯了什么嗎?這是我的代碼的重要部分。public class CourseCatalog extends javax.swing.JFrame { ArrayList <Course> courseList = new ArrayList<>(); public void addCourse(Course accAdd) { courseList.add(accAdd);}/** * Creates new form ViewKursFrame */public CourseCatalog() { initComponents(); for (Course kursen : courseList){ jcbKursNamn.addItem(kursen.getCourseName()); System.out.println("sjAJDJASJD"); }}課程班public class Course {private String kursnamn;private String Kurskod;private String sv?righetsgrad;private String ?mnesgrupp;//static ArrayList <Course> kursLista = new ArrayList<>();public Course(){ }public Course (String kursnamn, String kurskod, String sv?righetsgrad, String ?mnesgrupp){ this.kursnamn = kursnamn; this.Kurskod = kurskod; this.?mnesgrupp = ?mnesgrupp; this.sv?righetsgrad = sv?righetsgrad;}主班public class MainView {/** * @param args the command line arguments */public static void main(String[] args) { CourseCatalog view = new CourseCatalog(); Course kurs1 = new Course("Programutveckling med java", "D0024E", "Grundkurs", "Data"); Course kurs2 = new Course("Programutveckling med java2", "D0007N", "Grundkurs", "Data"); Course kurs3 = new Course("Programutveckling med Ruby", "D0024F", "Masterkurs", "Data"); Course kurs4 = new Course("Programutveckling med HTML", "D004F", "Grundkurs", "Data"); view.addCourse (kurs1); view.addCourse (kurs2); view.addCourse (kurs3); view.addCourse (kurs4); view.visaKurserna(); view.setVisible(true); }
1 回答

慕絲7291255
TA貢獻1859條經(jīng)驗 獲得超6個贊
問題是您將課程添加到CourseCatalog構造函數(shù)中的 JComboBox 。因為任何類的構造函數(shù)總是只在對象被初始化時被調(diào)用,并且在初始化時間courseList變量你維護的課程列表將是空的 - 導致你的 JComboBox 不顯示任何內(nèi)容。
修復/解決方案: 而不是在初始化時將課程添加到 JComboBox,而是在添加課程時添加它。使用如下所示的 addCourse() 方法:
public void addCourse(Course accAdd) {
courseList.add(accAdd);
jcbKursNamn.addItem(accAdd.getCourseName());
}
我希望這個答案有幫助
添加回答
舉報
0/150
提交
取消