2012-06-02 19 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