[ui] get rid of usage of internal HeadlessToolkit class in UIUtil
authorNikolay Chashnikov <Nikolay.Chashnikov@jetbrains.com>
Wed, 12 Aug 2020 14:58:17 +0000 (17:58 +0300)
committerintellij-monorepo-bot <intellij-monorepo-bot-no-reply@jetbrains.com>
Wed, 12 Aug 2020 17:09:06 +0000 (17:09 +0000)
This is needed to be able to compile intellij.platform.util.ui module using JDK 11 (IDEA-248086).

GitOrigin-RevId: f190e1f498d7c8c915a2db9ba8797ff9c183671a

platform/util/ui/src/com/intellij/util/ui/UIUtil.java

index 8951c8995f230cd028fdcc851f6e2ef0dc953e5d..a2bd4984888dd8c4c1d68c4d5bc02382ad411001 100644 (file)
@@ -24,7 +24,6 @@ import com.intellij.util.containers.JBTreeTraverser;
 import org.intellij.lang.annotations.JdkConstants;
 import org.intellij.lang.annotations.Language;
 import org.jetbrains.annotations.*;
-import sun.awt.HeadlessToolkit;
 
 import javax.sound.sampled.AudioInputStream;
 import javax.sound.sampled.AudioSystem;
@@ -2355,9 +2354,13 @@ public final class UIUtil {
 
   public static void fixFormattedField(@NotNull JFormattedTextField field) {
     if (SystemInfo.isMac) {
-      final Toolkit toolkit = Toolkit.getDefaultToolkit();
-      if (toolkit instanceof HeadlessToolkit) return;
-      final int commandKeyMask = toolkit.getMenuShortcutKeyMask();
+      final int commandKeyMask;
+      try {
+        commandKeyMask = Toolkit.getDefaultToolkit().getMenuShortcutKeyMask();
+      }
+      catch (HeadlessException e) {
+        return;
+      }
       final InputMap inputMap = field.getInputMap();
       final KeyStroke copyKeyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_C, commandKeyMask);
       inputMap.put(copyKeyStroke, "copy-to-clipboard");