ActionEvent是什么意思?

时间:2015-07-04 01:41:58

标签: java awt actionlistener actionevent

我正在学习Java,并且非常希望能够更深入地了解ActionEvent e perameter的含义和意义。当我编码时,我不只是想吐出有效的线条,但我不明白。在使用它们之前,我希望对概念有充分的理解。

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

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

感谢。

3 个答案:

答案 0 :(得分:4)

ActionEvent是一个类,e是该类的一个实例。您可以使用e来调用它的方法/属性,可在此处找到

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();

之类的内容

答案 1 :(得分:0)

ActionEvent是听众捕获的“事件”,由调度员发送。这意味着,以外行人的话来说,某个地方的某个线程已经决定你的行为(即点击按钮等)导致了一个动作发生,并通知系统。你的听众会接受这个,并将参考作为参数eThis可能有助于更清楚地了解行动的内容/原因;并且,查看事件调度线程(EDT)可能是有益的。

答案 2 :(得分:0)

这可以帮到你: http://docs.oracle.com/javase/tutorial/uiswing/events/actionlistener.html

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

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

它会监听按钮上的任何动作事件&some; someButton1'和' someButton2'。但我们可能希望以不同的方式处理两个按钮的点击。那是什么时候使用ActionEvent。

在Inside方法中,我们可以通过以下方式执行此操作

@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 
    }

}