java - 列表到数组并放入 jComboBox

标签 java mysql swing jdbc

AdministratorFrame(Administrator account) {
    AdministratorFrameLocked(true);
    administrator = account;
    EntityManagerFactory entityManagerFactory 
            = Persistence.createEntityManagerFactory("KwestionariuszForRoot");
    EntityManager entityManager 
            = entityManagerFactory.createEntityManager();
    List<Company> companies
            = entityManager.createNamedQuery("Company.findByAdministratorId")
            .setParameter("administrator_id", administrator).getResultList();
    entityManager.close();
    System.out.println(companies);
    List<String> companyNames = new ArrayList<>();
    for (Company company : companies) {
        companyNames.add(company.getName().toString());
    }
    System.out.println(companyNames);
    String[] companiesArray = new String[companyNames.size()];
    companiesArray = companyNames.toArray(companiesArray);
    System.out.println(companiesArray);
    jComboBoxCompaniesByName
            .setModel(new javax.swing.DefaultComboBoxModel(companiesArray)); 
    initComponents();
    AdministratorFrameLocked(false);
}

返回(请注意 printlns 返回一个值,因此不为空):

[model.Company[ id=1 ]] 
[Mentor]
[Ljava.lang.String;@139fcc0 
Exception in thread "AWT-EventQueue-0"
java.lang.NullPointerException at
frames.AdministratorFrame.<init>(AdministratorFrame.java:54)

第 54 行是:

jComboBoxCompaniesByName
                .setModel(new javax.swing.DefaultComboBoxModel(companiesArray));

我做错了什么?

最佳答案

您在哪里初始化jComboBoxCompaniesByName。 应该在某个地方像这样初始化:

jComboBoxCompaniesByName = new JCombobox();

只是猜测...尝试将 initComponents() 移到第 54 行之前。

关于java - 列表到数组并放入 jComboBox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10860987/

相关文章:

java - 将可空整数与 0 进行比较

java - 通过 session 变量存储数据

mysql - 使用查询从当前 ID 获取下一个值

java - 关闭连接后 Socket 和 SwingWorker 不工作

Java - 在 JPanel 中单击组件

java - 无法检索 MongoDB 中的现有文档

java - Clojure中的线程局部变量

java - 使用volley将BLOB图像从mysql显示到android(json编码)

mysql - 使用内连接时在 MYSQL 结果上重复

java - 当我单击“否”或“取消”选项时,为什么此 JOptionPane 程序没有关闭?