在java eclipse ide中实现actionlistener

时间:2014-03-05 10:40:03

标签: java swing jbutton actionlistener

我的代码是:

JButton btnNewButton = new JButton("ok"); //JButton btnNewButton = new JButton("Ok");

btnNewButton.addActionListener(new ActionListener() 

{
    public void actionPerformed(ActionEvent arg0) {

        if(arg0.getSource().equals(btnNewButton))
        {

        }
}

当我写这个仍然得到错误。如果(arg0.getSource()。equals(btnNewButton))得到错误请任何人修复它

2 个答案:

答案 0 :(得分:6)

匿名内部类无法访问本地变量,除非它们已被声明为 final 。将btnNewButton的声明更改为final JButton btnNewButton = ..."会使其有效。

但是,由于您使用的是除btnNewButton之外的其他任何内容的匿名侦听器,因此您已经知道事件源必须为btnNewButton,并且整个检查都是多余的。

答案 1 :(得分:1)

试试这段代码

JButton btnNewButton = new JButton("ok"); //JButton btnNewButton = new JButton("Ok");

btnNewButton.addActionListener(this); 


    public void actionPerformed(ActionEvent ae) {

        if(ae.getSource().equals(btnNewButton))
        {
     ////do your code here 
        }