2012-06-02 2 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); 
} 

Returns (обратите внимание, что printlns возвращают значение, так не нулевой):Список массиву и в 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) 

пятьдесят четвёртая линия:

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

Что я делаю неправильно?

+2

Кажется, что 'jComboBoxCompaniesByName' имеет нулевое значение, которое было бы в случае, если вы не» t инициализировать его перед 'initComponents' на следующей строке. – assylias

+0

Да, это было так, я слишком быстр с публикацией здесь, это было тривиально ... -_- ' – smsware

ответ

1

Где вы инициализировали jComboBoxCompaniesByName. Где-то должен быть инициализировать так:

jComboBoxCompaniesByName = new JCombobox(); 

Просто думаю ... Попробуйте подвигать initComponents() перед строкой 54.

+0

Да, это было, стыдно за меня. :) – smsware

Смежные вопросы