Java,Action Listener的问题

时间:2014-05-11 05:48:42

标签: java actionlistener

我在互联网上看了一下,在理解动作听众方面找不到任何帮助。我刚刚开始学习Java,我还没有找到一个很好的教程来帮助我理解如何使用动作监听器。有人可以查看我的代码或者指出一个有用的教程解释如何使用动作监听器吗?

public static void go implements ActionListener(){
    JFrame j = new JFrame();
    j.setDefaultCloseOperation(EXIT_ON_CLOSE);
    j.setSize(640,480);

    final Screen screen = new Screen();
    j.add(BorderLayout.CENTER, screen);

    JButton button = new JButton("Click Me!");
    button.addActionListener(new ActionListener(){

        public void ActionPerformed(Event e){
            screen.repaint();

        }

    });
    j.add(BorderLayout.NORTH, button);

    j.setVisible(true);
}

2 个答案:

答案 0 :(得分:2)

其他方式和更好的方法是使用Anonymous类。您不需要实现ActionListener

public static void go(){    // no need to implement actionListener
    JFrame j = new JFrame();
    j.setDefaultCloseOperation(EXIT_ON_CLOSE);
    j.setSize(640,480);

    final Screen screen = new Screen();
    j.add(BorderLayout.CENTER, screen);

    JButton button = new JButton("Click Me!");
    button.addActionListener(new ActionListener(){ // change are made here

        @Override
        public void actionPerformed(ActionEvent e) {  //& here
            screen.repaint();
        }
    });
    j.add(BorderLayout.NORTH, button);
    j.setVisible(true);
}

答案 1 :(得分:0)

actionPerformed是一种接口方法,它不是一个类。

因此,使用actionPerformed的ActionPerformed,并使用注释@Ovveride来动作actionPerformed以提供自己的定义。

        @Override
        public void actionPerformed(ActionEvent e) {
            screen.repaint();
        }