addactionlistener的问题

时间:2011-03-28 17:59:09

标签: java swing actionlistener

我有这段代码:

 public void itemStateChanged(ItemEvent e) {
            if(e.getStateChange() == ItemEvent.SELECTED)
            {
                int x = comboBox.getSelectedIndex();
                if(x >=0 && x<=6)
                {
                    JButton button[] = new JButton[31];
                    for(int i = 0; i < 31; i++)
                    {
                        button[i] = new JButton(String.valueOf(i + 1));
                        button[i].addActionListener(this);
                        add(button[i]);


                    }

                }
 public void actionPerformed(ActionEvent e) {

}

button[i].addactionlistener(this)给了我这个错误:

addActionListener(java.awt.event.ActionListener) in javax.swing.AbstractButton
 cannot be applied to (<anonymous java.awt.event.ItemListener>)

我该如何解决这个问题?

 I think this refer to jcombobox

2 个答案:

答案 0 :(得分:2)

让您的课程implement ActionListener

编辑添加:最初,我错过了错误消息中的“匿名”一词。这让我相信这段代码存在于匿名类声明中。 尝试替换

button[i].addActionListener(this)

button[i].addActionListener(mcalendar.this)

答案 1 :(得分:2)

啊,你有一个ItemListener的匿名内部类。

尝试

button[i].addActionListener(mcalendar.this);