我在将项目添加到 Java 中的 JcomboBox (Swing) 时遇到问题。我没有错误,但由于该功能未添加任何项目,因此某些功能不起作用。我只想将 4 门课程(他们的课程名称)添加到组合框的不同插槽中。构造函数应该添加元素。有人可以确定我做错了什么吗?这是我的代码的重要部分。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条经验 获得超6个赞
问题是您将课程添加到CourseCatalog构造函数中的 JComboBox 。因为任何类的构造函数总是只在对象被初始化时被调用,并且在初始化时间courseList变量你维护的课程列表将是空的 - 导致你的 JComboBox 不显示任何内容。
修复/解决方案: 而不是在初始化时将课程添加到 JComboBox,而是在添加课程时添加它。使用如下所示的 addCourse() 方法:
public void addCourse(Course accAdd) {
courseList.add(accAdd);
jcbKursNamn.addItem(accAdd.getCourseName());
}
我希望这个答案有帮助
添加回答
举报
0/150
提交
取消