2015-07-03 3 views
0

Итак, у меня есть этот метод;[JAVA] Как вызвать метод «itemStateChanged»

public void itemStateChanged(ItemEvent event){ 
     if(event.getSource() == temasJogo){ 
      if(event.getStateChange() == ItemEvent.SELECTED){ 
       indiceTema = indiceTemas[ temasJogo.getSelectedIndex() ]; 
      } 

     } 
    } 

только для этого JComboBox

temasJogo = new JComboBox(temas); 
     temasJogo.addActionListener(this); 

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

ответ

1

В теории itemStateChanged является методом ItemListener, предполагая, что вы внедрили interface в некотором роде.

Для того, чтобы иметь это называется, вам необходимо зарегистрировать экземпляр ItemListener с JComboBox

temasJogo.addItemListener(this); 

В качестве примера

См How to Use Combo Boxes и How to Write an Item Listener для получения более подробной информации

+0

Я знал, что это было что-то действительно глупое, я использовал ActionListener, хотя это ItemListener. Спасибо огромное! –

+0

Это всегда мелочи;) – MadProgrammer

1

Всего орудий интерфейс в классе.

Ex.

class sample implements ItemListener 

Нанести слушателя JComboBox

 temasJogo = new JComboBox(temas); 
     temasJogo.addItemListener(this); 

После этого, ниже будет вызываться при изменении элемента.

public void itemStateChanged(ItemEvent event){ 
     if(event.getSource() == temasJogo){ 
      if(event.getStateChange() == ItemEvent.SELECTED){ 
       indiceTema = indiceTemas[ temasJogo.getSelectedIndex() ]; 
      } 

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