Solved

how to make application use getModified

Posted on 2009-05-07
6
442 Views
Last Modified: 2013-11-23
I have an application that identifies which button on the mouse you clicked but I need to use the getModified method with an inputEvent object.
The actual question is : write an application that lets you determine the integer value returned by the inputEvent method getModifiers() when you click your left or right mouse button on a JFrame.
I don't know how to change the event code to accomplish this.
import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

public class JLeftOrRight extends JFrame implements MouseListener

{

 final int MAX = 20;

 String message[] = new String[MAX];

 int msgCount = 0;

 final int STARTX = 10;

   final int STARTY = 20;

   int x, y;
 
 
 

 public JLeftOrRight()

   {

      setTitle("LeftOrRight");

      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

      addMouseListener(this);

   }

 public void mouseClicked(MouseEvent e)

   {

      	 int whichButton = e.getButton();

      String msg;

      if(msgCount == MAX)

        clearScreen();

      message[msgCount] = "You pressed the mouse.";

      if (whichButton == MouseEvent.BUTTON1)

        msg = "button 1.";

      else 

        msg = "button 2.";

      

      message[msgCount] = message[msgCount] +

         " You used " + msg;

	   ++msgCount;

      repaint();
 

		 

    			}

			

		 public void mouseEntered(MouseEvent e)

   {

      if(msgCount == MAX)

        clearScreen();

       message[msgCount] = "You entered the frame";

       ++msgCount;

       repaint();

   }

  public void mouseExited(MouseEvent e)

   {

             if(msgCount == MAX)

        clearScreen();

      message[msgCount] = "You exited the frame";

	 ++msgCount;

      repaint();
 

	}

	 public void mousePressed(MouseEvent e)

   {

   }
 

   public void mouseReleased(MouseEvent e)

   {

   }

	  public void paint(Graphics g)

   {

      super.paint(g);

final int STARTX = 10;

   final int STARTY = 20;

   int x, y;

      x = STARTX;

      y = STARTY;

      for(int a = 0; a < msgCount; ++a)

         g.drawString(message[a], x, y += 20);

   }
 

   public void clearScreen()

   {

      msgCount = 0;

      for(int a = 0; a < MAX; ++a)

         message[a] = " ";

      repaint();

   }

	

			

	 public static void main(String[] args)

   {

      JLeftOrRight mFrame = new JLeftOrRight();

      final int WIDTH = 750;

      final int HEIGHT = 500;

      mFrame.setSize(WIDTH, HEIGHT);
 

      mFrame.setVisible(true);

   }

}

Open in new window

0
Comment
Question by:mabcoleman
  • 3
  • 2
6 Comments
 
LVL 92

Expert Comment

by:objects
Comment Utility
Why do you need to change it?
Questions seems to just asking you to display what it is

int modifier = event.getModifiers();

0
 

Author Comment

by:mabcoleman
Comment Utility
I thought I was supposed to use that method instead of the code I have used to determine which button is used
0
 
LVL 92

Expert Comment

by:objects
Comment Utility
perhaps it means something like this:

      if (whichButton == MouseEvent.BUTTON1)
        msg = "button 1. getModifier()="+modifier;
      else
        msg = "button 2. getModifier()="+modifier;

0
Maximize Your Threat Intelligence Reporting

Reporting is one of the most important and least talked about aspects of a world-class threat intelligence program. Here’s how to do it right.

 
LVL 86

Accepted Solution

by:
CEHJ earned 250 total points
Comment Utility
Try the following to print your modifiers - note that a small number are synonyms (check constants):
import static java.awt.event.InputEvent.*;
 
 

public class EventPrinter {
 

    public static String eventToString(java.awt.event.InputEvent e) {

	final String NEWLINE = System.getProperty("line.separator");

	int mods = e.getModifiers();

	StringBuilder sb = new StringBuilder();

	for (int i = SHIFT_MASK; i <= ALT_GRAPH_DOWN_MASK; i <<= 1) {

	    if ((mods & i) == SHIFT_MASK) sb.append("SHIFT_MASK").append(NEWLINE);

	    if ((mods & i) == CTRL_MASK) sb.append("CTRL_MASK").append(NEWLINE);

	    if ((mods & i) == BUTTON3_MASK) sb.append("BUTTON3_MASK").append(NEWLINE);

	    if ((mods & i) == META_MASK) sb.append("META_MASK").append(NEWLINE);

	    if ((mods & i) == ALT_MASK) sb.append("ALT_MASK").append(NEWLINE);

	    if ((mods & i) == BUTTON2_MASK) sb.append("BUTTON2_MASK").append(NEWLINE);

	    if ((mods & i) == BUTTON1_MASK) sb.append("BUTTON1_MASK").append(NEWLINE);

	    if ((mods & i) == ALT_GRAPH_MASK) sb.append("ALT_GRAPH_MASK").append(NEWLINE);

	    if ((mods & i) == SHIFT_DOWN_MASK) sb.append("SHIFT_DOWN_MASK").append(NEWLINE);

	    if ((mods & i) == CTRL_DOWN_MASK) sb.append("CTRL_DOWN_MASK").append(NEWLINE);

	    if ((mods & i) == META_DOWN_MASK) sb.append("META_DOWN_MASK").append(NEWLINE);

	    if ((mods & i) == ALT_DOWN_MASK) sb.append("ALT_DOWN_MASK").append(NEWLINE);

	    if ((mods & i) == BUTTON1_DOWN_MASK) sb.append("BUTTON1_DOWN_MASK").append(NEWLINE);

	    if ((mods & i) == BUTTON2_DOWN_MASK) sb.append("BUTTON2_DOWN_MASK").append(NEWLINE);

	    if ((mods & i) == BUTTON3_DOWN_MASK) sb.append("BUTTON3_DOWN_MASK").append(NEWLINE);

	    if ((mods & i) == ALT_GRAPH_DOWN_MASK) sb.append("ALT_GRAPH_DOWN_MASK").append(NEWLINE);

	}

	return sb.toString().trim();

    }

}

Open in new window

0
 
LVL 86

Expert Comment

by:CEHJ
Comment Utility
mabcoleman, as a point of procedure, you should normally simply accept comments as answers rather than closing the question. That's normally done when you're not awarding point
0
 
LVL 86

Expert Comment

by:CEHJ
Comment Utility
Oh - i think you did now - perhaps you made an adjustment? :-)
0

Featured Post

Do You Know the 4 Main Threat Actor Types?

Do you know the main threat actor types? Most attackers fall into one of four categories, each with their own favored tactics, techniques, and procedures.

Join & Write a Comment

Suggested Solutions

Title # Comments Views Activity
sumHeights2  challenge 7 75
commonTwo  challenge 63 98
Exception after setting jdbc session management 2 38
recursion example 16 66
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…
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 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 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:

762 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

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now