aboutsummaryrefslogtreecommitdiff
path: root/src/share/classes/javax/swing/text
diff options
context:
space:
mode:
authorleonidr <none@none>2012-04-18 21:08:38 +0400
committerleonidr <none@none>2012-04-18 21:08:38 +0400
commitf0f07b83e1866f0508c4e332ca14c09b12e7b2ec (patch)
tree98c600e30d620a3998deeea34f94adc35372fcd9 /src/share/classes/javax/swing/text
parent224c48a43cf7842e868ff3565dcd6280228f3226 (diff)
7124286: [macosx] Option modifier should work like AltGr as in Apple jdk
Reviewed-by: anthony
Diffstat (limited to 'src/share/classes/javax/swing/text')
-rw-r--r--src/share/classes/javax/swing/text/DefaultEditorKit.java19
1 files changed, 14 insertions, 5 deletions
diff --git a/src/share/classes/javax/swing/text/DefaultEditorKit.java b/src/share/classes/javax/swing/text/DefaultEditorKit.java
index ba90af7dc..775e7393c 100644
--- a/src/share/classes/javax/swing/text/DefaultEditorKit.java
+++ b/src/share/classes/javax/swing/text/DefaultEditorKit.java
@@ -24,6 +24,8 @@
*/
package javax.swing.text;
+import sun.awt.SunToolkit;
+
import java.io.*;
import java.awt.*;
import java.awt.event.ActionEvent;
@@ -869,11 +871,18 @@ public class DefaultEditorKit extends EditorKit {
}
String content = e.getActionCommand();
int mod = e.getModifiers();
- if ((content != null) && (content.length() > 0) &&
- ((mod & ActionEvent.ALT_MASK) == (mod & ActionEvent.CTRL_MASK))) {
- char c = content.charAt(0);
- if ((c >= 0x20) && (c != 0x7F)) {
- target.replaceSelection(content);
+ if ((content != null) && (content.length() > 0)) {
+ boolean isPrintableMask = true;
+ Toolkit tk = Toolkit.getDefaultToolkit();
+ if (tk instanceof SunToolkit) {
+ isPrintableMask = ((SunToolkit)tk).isPrintableCharacterModifiersMask(mod);
+ }
+
+ if (isPrintableMask) {
+ char c = content.charAt(0);
+ if ((c >= 0x20) && (c != 0x7F)) {
+ target.replaceSelection(content);
+ }
}
}
}