2015-07-04 1004 views
2

我正在学习Java,并且真的想更深入地了解ActionEvent e参数意味着什么。当我编码时,我不只是想吐出可行的线条,但我不明白。我想在使用它们之前对概念有充分的了解。ActionEvent e是什么意思?

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

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

谢谢。

+0

e执行这是一种ActionEvent的,它可以让你访问ActionEvent的属性。 actionPerformed方法在关联对象生成一个动作时调用,ActionEvent携带属性,如果该动作帮助您确定应该做什么 – MadProgrammer

+0

简而言之..ActionEvent是类或事件,当事件触发时获取完整引用。以便您可以获取有关触发事件的完整信息并使用它的功能,属性和所有其他信息。 –

回答

4

ActionEvent是一类,e是该类的一个实例。您可以使用e来调用它的方法/属性,发现这里

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

ActionEvent仅仅是一个类型,它会通知你e是什么类型的对象。顺便说一下,你可以改变e为你喜欢的任何东西,例如。 eventobject

ActionEvent eventActionEvent objectActionEvent anyVariableName等(记住,不要与Object混淆,它与小写的 “o” 的对象)...

内。然后actionPerformed()你可以调用的东西像event.doSomething();

+0

因此我可以将“e”更改为我想要的任何名称? – MooseMan55

+1

是的,它只是一个参考名称,一个变量。它实例化类ActionEvent,所以你不能改变ActionEvent。 “e”只在actionPerformed()中有意义。 –

+0

这是一个开始学习Java的相当高级的话题。如果不先学习面向对象编程的基础知识,我就不会马上开始学习事件驱动编程,我会专注于主要方法中的更简单的示例,了解面向对象的程序是什么,以及为什么使用它。之后,尝试研究观察者设计模式,那么你会更好地了解事件驱动的编程。 – kiwicomb123

0

ActionEvent是您的监听器捕获的“事件”,由调度员发送。用通俗的话来说,这意味着某个线程已经决定了你的行为(即点击一个按钮等)已经引发了一个动作并通知系统。你的听众会听到这个,并将其作为参数eThis可能有助于更多地了解该行为是什么/为什么;并且,检查事件调度线程(EDT)可能会有所帮助。

0

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

基本上,ButtonListener是你的ActionListener实现。 您将使用它像

someButton1.addActionListener(new ButtonListener()); 
someButton2.addActionListener(new ButtonListener()); 

它将监听上的按钮“someButton1”和“任何行动事件someButton2'.But我们可能要处理的两个按钮点击不同的方式。那是什么时候使用ActionEvent。

里面的方法,我们可以通过以下

​​