-
Bug
-
Resolution: Unresolved
-
P4
-
1.4.0
-
generic
-
generic
The code below demonstrates a number of problems with the modifiers field of manually constructed MouseEvents.
import java.awt.*;
import java.awt.event.*;
public class MouseEventConstruction {
final static int inmods[] = {
InputEvent.BUTTON1_MASK,
InputEvent.BUTTON1_MASK | InputEvent.ALT_MASK,
InputEvent.BUTTON1_MASK | InputEvent.SHIFT_MASK,
InputEvent.BUTTON1_MASK | InputEvent.META_MASK,
InputEvent.BUTTON1_MASK | InputEvent.CTRL_MASK,
InputEvent.BUTTON1_MASK | InputEvent.SHIFT_MASK | InputEvent.ALT_MASK,
InputEvent.BUTTON1_MASK | InputEvent.BUTTON2_MASK,
InputEvent.BUTTON2_MASK | InputEvent.ALT_MASK,
InputEvent.BUTTON2_MASK | InputEvent.SHIFT_MASK,
InputEvent.BUTTON2_MASK | InputEvent.META_MASK,
InputEvent.BUTTON2_MASK | InputEvent.CTRL_MASK,
};
final static int numEvents = inmods.length;
public static void main(String[] args) {
Frame dummy = new Frame("dummy");
MouseEvent event;
for(int loop = 0; loop < numEvents; loop++) {
event = new MouseEvent(dummy,
MouseEvent.MOUSE_PRESSED,
0,
inmods[loop],
0,0,0,false);
if (event.getModifiers() != inmods[loop]) {
System.out.println("[" + loop + "]Test failed for mask " + inmods[loop] + ", got: " + event.getModifiers());
}
}
System.out.println("Test done.");
}
}
import java.awt.*;
import java.awt.event.*;
public class MouseEventConstruction {
final static int inmods[] = {
InputEvent.BUTTON1_MASK,
InputEvent.BUTTON1_MASK | InputEvent.ALT_MASK,
InputEvent.BUTTON1_MASK | InputEvent.SHIFT_MASK,
InputEvent.BUTTON1_MASK | InputEvent.META_MASK,
InputEvent.BUTTON1_MASK | InputEvent.CTRL_MASK,
InputEvent.BUTTON1_MASK | InputEvent.SHIFT_MASK | InputEvent.ALT_MASK,
InputEvent.BUTTON1_MASK | InputEvent.BUTTON2_MASK,
InputEvent.BUTTON2_MASK | InputEvent.ALT_MASK,
InputEvent.BUTTON2_MASK | InputEvent.SHIFT_MASK,
InputEvent.BUTTON2_MASK | InputEvent.META_MASK,
InputEvent.BUTTON2_MASK | InputEvent.CTRL_MASK,
};
final static int numEvents = inmods.length;
public static void main(String[] args) {
Frame dummy = new Frame("dummy");
MouseEvent event;
for(int loop = 0; loop < numEvents; loop++) {
event = new MouseEvent(dummy,
MouseEvent.MOUSE_PRESSED,
0,
inmods[loop],
0,0,0,false);
if (event.getModifiers() != inmods[loop]) {
System.out.println("[" + loop + "]Test failed for mask " + inmods[loop] + ", got: " + event.getModifiers());
}
}
System.out.println("Test done.");
}
}
- relates to
-
JDK-4988798 REGRESSION: Old modifiers reset when instantiating a MouseEvent
-
- Closed
-
-
JDK-6325737 Extended Modifiers on Mouse Events are wrong
-
- Closed
-