2012-06-02 24 views
0
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返回一个值,因此不为null):清单阵列和成的JComboBox

[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)); 

我在做什么错?

+2

之前移动initComponents()似乎'jComboBoxCompaniesByName'为空,这将是情况下,如果你不” t在下一行的'initComponents'之前初始化它。 – assylias

+0

是的,就是这样,我在这里发帖太快了,这是微不足道的...... -_-' – smsware

回答

1

你在哪里初始化jComboBoxCompaniesByName。 某处应该初始化像这样:

jComboBoxCompaniesByName = new JCombobox(); 

只是一个猜测...尝试线54

+0

是的,就是这样,对我感到羞耻。 :) – smsware