必须实现ActionListener.actionPerformed(ActionEvent)

时间:2016-12-27 11:11:25

标签: java actionlistener

package helloworld;
import javax.swing.*;
import java.awt.event.*;

public class helloworld extends JFrame{

    public static void main( String args[] ){
        JFrame frame = new helloworld();
        frame.setSize( 400, 200 );
        frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
        frame.setTitle( "HelloWorld" );
        JPanel panel = new Panel();
        frame.setContentPane( panel );
        frame.setVisible( true );   
    }   
}

class Panel extends JPanel {
    private JButton button, resetbutton;
    private JTextField textfield;

    public Panel(){
        button = new JButton( "click" );
        button.addActionListener( new ButtonHandler() );
        resetbutton = new JButton( "erase" );
        resetbutton.addActionListener( new ResetbuttonHandler() );
        textfield = new JTextField( 10 );
        add( button );           
        add( textfield );
        add( resetbutton );
    }

    class ButtonHandler implements ActionListener{

        public void actionPerformed( ActionEvent e ){
            textfield.setText( "you clicked" );
        }
    }

    class ResetbuttonHandler implements ActionListener{

        public void actionPreformed( ActionEvent e ){
            textfield.setText( "" );
        }
    }
}

我只是设置了一些基本代码来学习更多关于java的知识。但我的按钮类有问题。

错误说明如下:类型Panel.ResetbuttonHandler必须实现继承的抽象方法ActionListener.actionPerformed(ActionEvent)
以前我也遇到过 ButtonHandler 的问题我不知道怎么解决了这个问题,但 ResetbuttonHandler 仍然显示同样的错误,我无法弄清楚它们之间的区别是什么。

我也是试图@Override他们,但那不起作用。我有一本关于java的书(这也是我从中学习的地方),他们以完全相同的方式做到这一点。甚至搜索整个互联网,仍然没有找到解决方案。

我希望有人可以帮我解决这个问题!

1 个答案:

答案 0 :(得分:1)

请将actionPreformed方法的拼写更正为actionPerformed

class ResetbuttonHandler implements ActionListener{
    public void actionPerformed( ActionEvent e ){
        textfield.setText( "" );
    }
}