所以,我有这个方法;
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);
我需要它来修改我的类的属性,以便它选择游戏的另一个主题。问题是,我无法在任何地方调用此方法。我知道答案很简单,但我确实需要帮助。
答案 0 :(得分:1)
理论上,itemStateChanged
是ItemListener
的一种方法,假设您已经以某种方式实施了interface
。
为了让它被调用,您需要使用ItemListener
JComboBox
的实例
temasJogo.addItemListener(this);
作为例子
有关详细信息,请参阅How to Use Combo Boxes和How to Write an Item Listener
答案 1 :(得分:1)
只需在类中实现接口。
实施例
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() ];
}
}
}