mouse event handling...

Posted on 1997-11-17
Last Modified: 2010-04-16
I have a question about mouse event handling.  Why can the mouseDrag(), mouseMove(), mouseEnter(), and mouseExit() methods be used by simply entering commands, while the mouseUp() and mouseDown()methods have to be "checked," (i.e. "if(evt.modifiers == 0))."  I'm just wondering if there's something I don't understand about event handling.  
Question by:Raydot
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 3

Author Comment

ID: 1230749
Oh, and why does the evt.modifiers evaluate to 0 when the mouse is clicked instead of to 1, which seems more logical?



Accepted Solution

rembo earned 50 total points
ID: 1230750

There is no difference between the different methods
and how they go about handling events.

Most likely what you've seen is some inconsistent
programming style.  

The 0 vs. 1 thing is an old UNIX holdover.  



Expert Comment

ID: 1230751
OK, you're both right.  What I was looking at was a program that checks whether the left or right mouse buttons are clicked.  So as to Tony's comment, the programming snippet I gave, out of context, was "inconsistent" with the other mouse event methods in the program I was describing in that it utilized an if...else construct, like russgold suggests, to check which button had been clicked.  

Just to get my $$$'s worth, these methods (mouseDown, mouseUp, mouseDrag, etc.) are checked by Java automatically?  They handle all mouse events and I don't have to do anything else? (e. g. initialize, monitor, thread, etc.)


PeopleSoft Has Never Been Easier

PeopleSoft Adoption Made Smooth & Simple!

On-The-Job Training Is made Intuitive & Easy With WalkMe's On-Screen Guidance Tool.  Claim Your Free WalkMe Account Now


Author Comment

ID: 1230752

Russ is correct, I was only speaking to the fact that there
is no actual difference between the methods in terms of
what they are required to handle.  What you can do
with them are different.  

Events in 1.02 and 1.1 are completely different.  However,
since you're asking about 1.02 methods, we'll stick to

The events will get passed to the default event handler
for the container if you don't handle them.  There is
no need to initalize, monitor or anything if you don't
need to monitor those events.  


Expert Comment

ID: 1230753
WHOA! (Record stops, bar clears out...) I'm talking about 1.02 events?  I'm reading a book on Visual J++ 1.1, so I thought I was dealing with Java 1.1.  How do you know these are 1.02 events, and if they are then how is it done in 1.1?

Author Comment

ID: 1230754

While mouseMove, mouseEnter, etc. all still work in 1.1,
they are 1.02 event handling methods and are deprecated.
Methods are handled using mouseListener() and mouseMotionListener() and adapter classes.  It's a
completely different model.

The code you are writing will still work now, but
probably not in the the next real release of Java (2.0 -
1.2 will still be fine).

So, the deal is that you can do things the way you are
or you can move to the new event model.  

Even with 1.1 though, there's no need to handle those
events if you don't need to do anything with them.


Expert Comment

ID: 1230755
Mmmmm...this book I'm going through sucks.  That's like the third outdated method I've come across in it.  Maybe I'll e-mail the author...

Anyway, thanks Tony.


Author Comment

ID: 1230756

I review a lot of books, and I'd be happy to recommend
a good text for you.



Featured Post

Enroll in May's Course of the Month

May’s Course of the Month is now available! Experts Exchange’s Premium Members and Team Accounts have access to a complimentary course each month as part of their membership—an extra way to increase training and boost professional development.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
web application structure 18 135
hibernate example issues from command prompt 10 85
by zero exception 10 83
batch vs regular insert in spring DAO 2 50
An old method to applying the Singleton pattern in your Java code is to check if a static instance, defined in the same class that needs to be instantiated once and only once, is null and then create a new instance; otherwise, the pre-existing insta…
Introduction This article is the first of three articles that explain why and how the Experts Exchange QA Team does test automation for our web site. This article explains our test automation goals. Then rationale is given for the tools we use to a…
Viewers learn about the third conditional statement “else if” and use it in an example program. Then additional information about conditional statements is provided, covering the topic thoroughly. Viewers learn about the third conditional statement …
Viewers learn about the scanner class in this video and are introduced to receiving user input for their programs. Additionally, objects, conditional statements, and loops are used to help reinforce the concepts. Introduce Scanner class: Importing…
Suggested Courses

738 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question