ActionEvent e 是什么意思?

What does ActionEvent e mean?

我正在学习 Java 并且真的很想更深入地了解 ActionEvent e 参数的含义和代表。当我编码时,我不只是想吐出有效的行,但我不明白。我想在使用它们之前对概念有一个完整的理解。

那么它具体要求什么,这两个部分(ActionEvent 和 e)是什么意思?

class ButtonListener implements ActionListener{
        @Override
        public void actionPerformed(ActionEvent e){
    }
}

谢谢。

ActionEvent 是您的侦听器捕获的 "event",由调度员发送。这意味着,用外行的话来说,某处的某个线程已决定您的操作(即单击按钮等)导致操作发生,并通知系统。您的听众注意到这一点,并将引用作为参数 eThis may help to shed a bit more light on what/why the action is; and, it may be beneficial to check out the Event Dispatch Thread (EDT).

ActionEvent 是 class,e 是 class 的实例。您可以使用 e 将其命名为 methods/properties,可在此处找到

http://docs.oracle.com/javase/7/docs/api/java/awt/event/ActionEvent.html

ActionEvent只是一个类型,它告诉你e是什么类型的对象。顺便说一句,您可以将 e 更改为您喜欢的任何内容,例如。 eventobject.

ActionEvent eventActionEvent object(记住,不要与Object混淆,其对象小写"o")、ActionEvent anyVariableName等。 .

然后在 actionPerformed() 中你可以调用 event.doSomething();

这应该可以帮助您: http://docs.oracle.com/javase/tutorial/uiswing/events/actionlistener.html

基本上,ButtonListener 是您的 ActionListener 实现。 你会像

一样使用它
someButton1.addActionListener(new ButtonListener());
someButton2.addActionListener(new ButtonListener());

它将侦听按钮 'someButton1' 和 'someButton2' 上的任何操作事件。但是我们可能希望以不同的方式处理两个按钮上的点击。那就是ActionEvent有用的时候了。

里面的方法,我们可以按照下面的方法来做

@Override
public void actionPerformed(ActionEvent e){
    if(e.getActionCommand().equals("Button 1")){
        //Process Button 1 action event here 
    }
    else if(e.getActionCommand().equals("Button 2")){
        //Process Button 2 action event here 
    }

}