2016-11-27 3 views
0

Я пытаюсь сделать Combobox с actionperformed в другом actionperformed. Идея заключается в том, что вы начинаете с экрана с помощью кнопки, а после нажатия кнопки добавляется combobox. Когда я пытаюсь добавить combobox, ошибка говорит: «vlaggenlijst не может быть разрешен переменной».JCombobox с actionperformed в другом actionperformed

Вот код, где я делаю выпадающий:

JComboBox vlaggenlijst = new JComboBox(vlaggen); 
vlaggenlijst.setSelectedIndex(0); 
vlaggenlijst.addActionListener(this); 

Это код внутри actionPerformed:

if(event.getSource() == b1) { 
     Container parentft = FirstText.getParent(); 
     parentft.remove(FirstText); 
     parentft.validate(); 
     parentft.repaint(); 

     Title.setText("Vlaggen"); 

     Container parentb1 = b1.getParent(); 
     parentb1.remove(b1); 
     parentb1.validate(); 
     parentb1.repaint(); 

     add(vlaggenlijst, BorderLayout.PAGE_START); 

     add(Picture, BorderLayout.CENTER); 

     if(event.getSource() == vlaggenlijst){ 
      JComboBox cb = (JComboBox)event.getSource(); 
      String vlagnaam = (String)cb.getSelectedItem(); 
      updateLabel(vlagnaam); 
     } 
} 

Может кто-нибудь, пожалуйста, помогите мне, я действительно не знаю, где я пошло не так. Я бы очень признателен.

+0

'' Я пытаюсь сделать выпадающий с actionperformed в другой actionperformed. '' - что ???? – Antoniossss

ответ

1

Объявить JComboBox vlaggenlijst как поле не локальные переменные, например:

private JComboBox vlaggenlijst = null;

+0

Спасибо, ошибки исчезли. Единственное, что показано в приведенном списке combobox, пусто, поэтому после нажатия кнопки ничего не отображается. С линией «JComboBox vlaggenlijst = новый JComboBox (vlaggen)»; Я добавил String к нему. –

+0

IDK, что такое 'vlaggen', но может быть, например,' String [] 'с возможными параметрами. – Antoniossss

+0

vlaggen is "String [] vlaggen = {ВСЕ ОПЦИИ};" Но когда я добавил вашу строку, combobox не отображается –