< prev index next >
src/java.desktop/share/classes/javax/swing/plaf/basic/BasicComboPopup.java
Print this page
@@ -34,10 +34,12 @@
import java.awt.event.*;
import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeEvent;
import java.io.Serializable;
+import sun.awt.AWTAccessor;
+import sun.awt.AWTAccessor.MouseEventAccessor;
/**
* This is a basic implementation of the <code>ComboPopup</code> interface.
*
* This class represents the ui for the popup portion of the combo box.
@@ -532,17 +534,22 @@
public void processMouseEvent(MouseEvent e) {
if (BasicGraphicsUtils.isMenuShortcutKeyDown(e)) {
// Fix for 4234053. Filter out the Control Key from the list.
// ie., don't allow CTRL key deselection.
Toolkit toolkit = Toolkit.getDefaultToolkit();
- e = new MouseEvent((Component)e.getSource(), e.getID(), e.getWhen(),
+ MouseEvent newEvent = new MouseEvent(
+ (Component)e.getSource(), e.getID(), e.getWhen(),
e.getModifiers() ^ toolkit.getMenuShortcutKeyMask(),
e.getX(), e.getY(),
e.getXOnScreen(), e.getYOnScreen(),
e.getClickCount(),
e.isPopupTrigger(),
MouseEvent.NOBUTTON);
+ MouseEventAccessor meAccessor = AWTAccessor.getMouseEventAccessor();
+ meAccessor.setCausedByTouchEvent(newEvent,
+ meAccessor.isCausedByTouchEvent(e));
+ e = newEvent;
}
super.processMouseEvent(e);
}
};
}
@@ -1249,10 +1256,13 @@
e.getXOnScreen(),
e.getYOnScreen(),
e.getClickCount(),
e.isPopupTrigger(),
MouseEvent.NOBUTTON );
+ MouseEventAccessor meAccessor = AWTAccessor.getMouseEventAccessor();
+ meAccessor.setCausedByTouchEvent(newEvent,
+ meAccessor.isCausedByTouchEvent(e));
return newEvent;
}
/**
< prev index next >