[JAVA]如何调用方法“itemStateChanged”

时间:2015-07-03 06:16:17

标签: java swing jcombobox itemlistener

所以,我有这个方法;

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);

我需要它来修改我的类的属性,以便它选择游戏的另一个主题。问题是,我无法在任何地方调用此方法。我知道答案很简单,但我确实需要帮助。

2 个答案:

答案 0 :(得分:1)

理论上,itemStateChangedItemListener的一种方法,假设您已经以某种方式实施了interface

为了让它被调用,您需要使用ItemListener

注册JComboBox的实例
temasJogo.addItemListener(this);

作为例子

有关详细信息,请参阅How to Use Combo BoxesHow 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() ];
            }

        }
    }