Web Developer's Virtual Library: Encyclopedia of Web Design Tutorials, Articles and Discussions


WDVL Newsletter

Active Server Pages
JSP/Java Servlets
Microsoft SQL Server
Daily Backup
Dedicated Servers
Streaming Audio/Video
24-hour Support    

jobs.webdeveloper.com

Hiermenus


e-commerce
Partner With Us















Developer Channel
FlashKit.com
JavaScript.com
JavaScriptSource
Developer Jobs
ScriptSearch
StreamingMediaWorld
Web Developer's Journal
Web Developer's Virtual Library
WebDeveloper.com
Webreference
Web Hosts
XMLfiles.com

internet.com
IT
Developer
Internet News
Small Business
Personal Technology

Search internet.com
Advertise
Corporate Info
Newsletters
Tech Jobs
E-mail Offers


Other Methods for Handling Events

  • As we have shown, you can catch all the events you are interested in by implementing a handleEvent() method. When you use handleEvent() to catch events, you need to perform a test to check for the event ID that you're looking for. In our example, to check for an action event we performed the following test:

    if (event.id == Event.ACTION_EVENT)
    

  • However, if you want to avoid these types of comparisons in your code, there are other methods you can implement instead of handleEvent(). Unlike handleEvent(), these other methods are tied to specific event types and can only be called when their particular event type is generated.

  • The action() method, for example, is called only when an action event is generated and not when events of other types occur. Thus, instead of implementing a handleEvent() routine and checking for an event ID of ACTION_EVENT, you can simply implement an action() method.

  • As an example, the following code performs the exact same function as our previous code to handle an action event in a button. However, in this code we handle the event by implementing an action() routine instead of a handleEvent() routine:

    class MyButton extends Button
    {
    public boolean action(Event event, Object arg)
        {
        System.out.println("I got an action: " + event);
        return super.action(event, arg);
        }
    }
    

  • Notice that we didn't have to check the event ID. It's common to see action events handled in an action() routine instead of a handleEvent() routine. Be aware, however, that they can be handled in either method.

When does the action() method get called? When the action event is passed up in handleEvent() through the chain of superclasses, it eventually reaches Component. In particular, the action event eventually reaches the handleEvent() method in the Component class. The handleEvent() routine in the Component class calls the action() method on the component if the event is an action event. By default, the action method of a component does nothing. However, if you have provided an action() event as shown above, you will receive the event.

  • action() events aren't the only events that are handled in other methods. The following table shows the other methods you can implement for their respective event IDs.

Event ID Method
ACTION_EVENT public boolean action(Event e, Object arg);
GOT_FOCUS public boolean gotFocus(Event e, Object arg);
KEY_PRESS public boolean keyDown(Event e, int key);
KEY_RELEASE public boolean keyUp(Event e, int key);
LOST_FOCUS public boolean lostFocus(Event e, Object arg);
MOUSE_DOWN public boolean mouseDown(Event e, int x, int y);
MOUSE_DRAG public boolean mouseDrag(Event e, int x, int y);
MOUSE_ENTER public boolean mouseEnter(Event e, int x, int y);
MOUSE_EXIT public boolean mouseExit(Event e, int x, int y);
MOUSE_MOVE public boolean mouseMove(Event e, int x, int y);
MOUSE_UP public boolean mouseUp(Event e, int x, int y);

Additional Resources:

Event Types
Table of Contents
Event Propagation


Up to => Home / Authoring / Scripting / Tutorial




Jupiter Online Media: internet.comearthweb.comDevx.commediabistro.comGraphics.com

Search:

Jupitermedia Corporation has two divisions: Jupiterimages and Jupiter Online Media

Jupitermedia Corporate Info


Legal Notices, Licensing, & Permissions, Privacy Policy.

Web Hosting | Newsletters | Tech Jobs | Shopping | E-mail Offers