Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

How to catch right and left mouse pressed at the same time?

Posted on 2008-06-11
4
Medium Priority
?
276 Views
Last Modified: 2010-03-30
Hi Experts..
 i wanna have 3 mouse pressed event
1st :  left mouse pressed
2nd : Right mouse Pressed
3rd : right and left mouse pressed

how can i handle my 3rd event(right and left pressed) in the same time...because as we know..we cant do it in the almost exact time..so that it would run the 1st event/2nd event first before running the 3rd event
so how does to avoid 1st/2nd even to occured before my 3rd?
0
Comment
Question by:iphone
4 Comments
 
LVL 92

Expert Comment

by:objects
ID: 21766136
don't think you can avoid it.
You'll need to add some logic to your code to handle it.
eg. checking if the other is already pressed when the other other is
And adding a slight delay to wait for the other to be pressed before processing the single press
0
 
LVL 8

Accepted Solution

by:
malfunction84 earned 750 total points
ID: 21766154
If you operate off of when the buttons are released rather than when they're pressed, you can detect if the other button was pressed during the interval where a button is held down.  That's your best chance of detecting when both buttons are down.

Try the following.  (I'm going to use pseudocode to speed this up.)
define flag_1 //indicates that button_1 was released while button_2 is still pressed
define flag_2 //indicates that button_2 was released while button_1 is still pressed
 
when button_1 is released {
  if (flag_2 is set)
    unset flag_2
    execute event_3
  else
    if (button_2 is still being held down)
      set flag_1
    else
      execute event_1
}
 
when button_2 is released {
  if (flag_1 is set)
    unset flag_1
    execute event_3
  else
    if (button_1 is still being held down)
      set flag_2
    else
      execute event_2
}

Open in new window

0
 
LVL 10

Expert Comment

by:margajet24
ID: 21766165

it has been a long time since i used java..

but please try this..

public void mouseClicked(MouseEvent e)
{
    if (e.getButton() == (MouseEvent.BUTTON1 | MouseEvent.BUTTON2) )
        // do something here
    else if (e.getButton() == MouseEvent.BUTTON1 )
        // do something here    
    else if (e.getButton() == MouseEvent.BUTTON2 )
        // do something here
}

           
0
 

Author Comment

by:iphone
ID: 21766177
Thx for your guys quick replies
but think malfunction84 thrown something for me to think on it
0

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

Question has a verified solution.

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

Java had always been an easily readable and understandable language.  Some relatively recent changes in the language seem to be changing this pretty fast, and anyone that had not seen any Java code for the last 5 years will possibly have issues unde…
Basic understanding on "OO- Object Orientation" is needed for designing a logical solution to solve a problem. Basic OOAD is a prerequisite for a coder to ensure that they follow the basic design of OO. This would help developers to understand the b…
Viewers will learn about basic arrays, how to declare them, and how to use them. Introduction and definition: Declare an array and cover the syntax of declaring them: Initialize every index in the created array: Example/Features of a basic arr…
This theoretical tutorial explains exceptions, reasons for exceptions, different categories of exception and exception hierarchy.
Suggested Courses

963 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