diff options
author | leonidr <none@none> | 2012-04-18 21:08:38 +0400 |
---|---|---|
committer | leonidr <none@none> | 2012-04-18 21:08:38 +0400 |
commit | f0f07b83e1866f0508c4e332ca14c09b12e7b2ec (patch) | |
tree | 98c600e30d620a3998deeea34f94adc35372fcd9 /src/share/classes/javax/swing/text | |
parent | 224c48a43cf7842e868ff3565dcd6280228f3226 (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.java | 19 |
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); + } } } } |