What does ActionEvent e mean?

前端 未结 3 1463
走了就别回头了
走了就别回头了 2021-01-13 20:30

I am learning Java and would really like to have a deeper understanding of what the ActionEvent e perameter means and stands for. When I code I don\'t just want to spit out

相关标签:
3条回答
  • 2021-01-13 20:58

    The ActionEvent is an "event" that your listener catches, as sent by a dispatcher. This mean, in layman's terms, that some thread somewhere has decided that your actions (i.e. clicking a button, etc.) have caused an action to occur, and informs the System. Your listener picks up on this, and takes a reference as the parameter e. This 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).

    0 讨论(0)
  • 2021-01-13 21:02

    This should help you: http://docs.oracle.com/javase/tutorial/uiswing/events/actionlistener.html

    Basically,ButtonListener is your ActionListener Implementation. You will use it like

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

    It will listen for any action events on the buttons 'someButton1' and 'someButton2'.But we might want to handle clicks on both buttons in a different way. Thats when ActionEvent is of use.

    Inside method,we can do this by following

    @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 
        }
    
    }
    
    0 讨论(0)
  • 2021-01-13 21:16

    ActionEvent is a class, e is an instance of that class. You can use e to call it's methods/properties, found here

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

    ActionEvent is just a type, it informs you what type of object e is. By the way, you can change e to whatever you prefer, for ex. event or object.

    ActionEvent event, ActionEvent object (remember, not to be confused with Object, its object with lower case "o"), ActionEvent anyVariableName etc...

    Then inside actionPerformed() you can call stuff like event.doSomething();

    0 讨论(0)
提交回复
热议问题