Solved

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

Posted on 2008-06-11
4
268 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 250 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

Microsoft Certification Exam 74-409

Veeam® is happy to provide the Microsoft community with a study guide prepared by MVP and MCT, Orin Thomas. This guide will take you through each of the exam objectives, helping you to prepare for and pass the examination.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
micro services vs rest web services 16 107
JavaScript/Java - Changing an image background color 4 67
web services creation SOAP vs REST 5 42
difference of if loops 23 50
INTRODUCTION Working with files is a moderately common task in Java.  For most projects hard coding the file names, using parameters in configuration files, or using command-line arguments is sufficient.   However, when your application has vi…
This was posted to the Netbeans forum a Feb, 2010 and I also sent it to Verisign. Who didn't help much in my struggles to get my application signed. ------------------------- Start The idea here is to target your cell phones with the correct…
Viewers will learn about the different types of variables in Java and how to declare them. Decide the type of variable desired: Put the keyword corresponding to the type of variable in front of the variable name: Use the equal sign to assign a v…
Viewers will learn about the regular for loop in Java and how to use it. Definition: Break the for loop down into 3 parts: Syntax when using for loops: Example using a for loop:

823 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