From 37b704d1af0da0947c3b7e9e95fe5d31f3cb4ed0 Mon Sep 17 00:00:00 2001 From: Konstantin Bulenkov Date: Wed, 5 Sep 2018 20:50:33 +0200 Subject: [PATCH] add java 9 compatibility library --- .idea/libraries/Java_Compatibility.xml | 9 +++++++++ lib/java-compatibility.jar | Bin 0 -> 26894 bytes .../build/CommunityLibraryLicenses.groovy | 2 ++ platform/platform-api/intellij.platform.ide.iml | 1 + .../src/com/intellij/ide/HelpTooltip.java | 10 +++------- .../intellij.platform.ide.impl.iml | 1 + .../ide/plugins/newui/TabHeaderComponent.java | 4 ++-- .../ide/ui/laf/darcula/ui/DarculaButtonUI.java | 9 ++++----- .../ui/laf/darcula/ui/DarculaCheckBoxUI.java | 5 ++--- .../laf/darcula/ui/DarculaMenuItemUIBase.java | 12 ++++++------ .../ui/laf/darcula/ui/DarculaProgressBarUI.java | 10 +++++----- .../ui/laf/darcula/ui/DarculaRadioButtonUI.java | 10 +++------- .../ui/laf/darcula/ui/DarculaTabbedPaneUI.java | 6 +++--- .../ui/laf/intellij/MacIntelliJButtonUI.java | 8 ++------ .../ui/laf/intellij/WinIntelliJButtonUI.java | 3 +-- .../actionSystem/impl/ActionButtonWithText.java | 12 ++++-------- .../editor/impl/view/TextFragmentFactory.java | 4 ++-- .../wm/impl/content/ContentTabLabel.java | 6 +++--- platform/util/intellij.platform.util.iml | 1 + .../src/com/intellij/util/ui/AATextInfo.java | 9 ++++----- 20 files changed, 58 insertions(+), 64 deletions(-) create mode 100644 .idea/libraries/Java_Compatibility.xml create mode 100644 lib/java-compatibility.jar diff --git a/.idea/libraries/Java_Compatibility.xml b/.idea/libraries/Java_Compatibility.xml new file mode 100644 index 000000000000..64098e68cf84 --- /dev/null +++ b/.idea/libraries/Java_Compatibility.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/lib/java-compatibility.jar b/lib/java-compatibility.jar new file mode 100644 index 0000000000000000000000000000000000000000..43735d315ee1d9b268d881ae120a7756c726237a GIT binary patch literal 26894 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 + \ No newline at end of file diff --git a/platform/platform-api/src/com/intellij/ide/HelpTooltip.java b/platform/platform-api/src/com/intellij/ide/HelpTooltip.java index 8a4985b95d37..d6db822c62f1 100644 --- a/platform/platform-api/src/com/intellij/ide/HelpTooltip.java +++ b/platform/platform-api/src/com/intellij/ide/HelpTooltip.java @@ -25,12 +25,8 @@ import com.intellij.ui.awt.RelativePoint; import com.intellij.ui.components.labels.LinkLabel; import com.intellij.ui.components.panels.VerticalLayout; import com.intellij.util.Alarm; -import com.intellij.util.ui.GraphicsUtil; -import com.intellij.util.ui.JBEmptyBorder; -import com.intellij.util.ui.JBUI; -import com.intellij.util.ui.UIUtil; +import com.intellij.util.ui.*; import org.jetbrains.annotations.NotNull; -import sun.swing.SwingUtilities2; import javax.swing.*; import javax.swing.border.Border; @@ -500,10 +496,10 @@ public class HelpTooltip { // Compute preferred size FontMetrics tfm = getFontMetrics(titleFont); - int titleWidth = SwingUtilities2.stringWidth(this, tfm, title); + int titleWidth = UIUtilities.stringWidth(this, tfm, title); FontMetrics fm = getFontMetrics(font); - titleWidth += StringUtil.isNotEmpty(shortcut) ? hgap() + SwingUtilities2.stringWidth(this, fm, shortcut) : 0; + titleWidth += StringUtil.isNotEmpty(shortcut) ? hgap() + UIUtilities.stringWidth(this, fm, shortcut) : 0; boolean limitWidth = StringUtil.isNotEmpty(description) || link != null; isMultiline = limitWidth && (titleWidth > maxWidth()); diff --git a/platform/platform-impl/intellij.platform.ide.impl.iml b/platform/platform-impl/intellij.platform.ide.impl.iml index 33a5a7b2e112..74652705f74d 100644 --- a/platform/platform-impl/intellij.platform.ide.impl.iml +++ b/platform/platform-impl/intellij.platform.ide.impl.iml @@ -56,5 +56,6 @@ + \ No newline at end of file diff --git a/platform/platform-impl/src/com/intellij/ide/plugins/newui/TabHeaderComponent.java b/platform/platform-impl/src/com/intellij/ide/plugins/newui/TabHeaderComponent.java index 02408612e847..1139e4a1605c 100644 --- a/platform/platform-impl/src/com/intellij/ide/plugins/newui/TabHeaderComponent.java +++ b/platform/platform-impl/src/com/intellij/ide/plugins/newui/TabHeaderComponent.java @@ -12,9 +12,9 @@ import com.intellij.ui.awt.RelativePoint; import com.intellij.ui.components.breadcrumbs.Breadcrumbs; import com.intellij.util.ui.JBUI; import com.intellij.util.ui.UIUtil; +import com.intellij.util.ui.UIUtilities; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.TestOnly; -import sun.swing.SwingUtilities2; import javax.swing.*; import java.awt.*; @@ -277,7 +277,7 @@ public class TabHeaderComponent extends JComponent { FontMetrics fm = getFontMetrics(getFont()); for (int i = 0; i < size; i++) { - int tabWidth = offset + SwingUtilities2.stringWidth(null, fm, myTabs.get(i).compute()) + offset; + int tabWidth = offset + UIUtilities.stringWidth(null, fm, myTabs.get(i).compute()) + offset; mySizeInfo.tabTitleX[i] = x + offset; mySizeInfo.tabs[i] = new Rectangle(x, 0, tabWidth, -1); x += tabWidth; diff --git a/platform/platform-impl/src/com/intellij/ide/ui/laf/darcula/ui/DarculaButtonUI.java b/platform/platform-impl/src/com/intellij/ide/ui/laf/darcula/ui/DarculaButtonUI.java index 85799b2e18ec..19742e05cac5 100644 --- a/platform/platform-impl/src/com/intellij/ide/ui/laf/darcula/ui/DarculaButtonUI.java +++ b/platform/platform-impl/src/com/intellij/ide/ui/laf/darcula/ui/DarculaButtonUI.java @@ -11,7 +11,6 @@ import com.intellij.openapi.util.text.StringUtil; import com.intellij.ui.JBColor; import com.intellij.ui.components.JBOptionButton; import com.intellij.util.ui.*; -import sun.swing.SwingUtilities2; import javax.swing.*; import javax.swing.plaf.ComponentUI; @@ -150,11 +149,11 @@ public class DarculaButtonUI extends BasicButtonUI { ButtonModel model = button.getModel(); g.setColor(getButtonTextColor(button)); - FontMetrics metrics = SwingUtilities2.getFontMetrics(c, g); + FontMetrics metrics = UIUtilities.getFontMetrics(c, g); int mnemonicIndex = DarculaLaf.isAltPressed() ? button.getDisplayedMnemonicIndex() : -1; if (model.isEnabled()) { - SwingUtilities2.drawStringUnderlineCharAt(c, g, text, mnemonicIndex, + UIUtilities.drawStringUnderlineCharAt(c, g, text, mnemonicIndex, textRect.x + getTextShiftOffset(), textRect.y + metrics.getAscent() + getTextShiftOffset()); } @@ -174,7 +173,7 @@ public class DarculaButtonUI extends BasicButtonUI { protected void paintDisabledText(Graphics g, String text, JComponent c, Rectangle textRect, FontMetrics metrics) { g.setColor(UIManager.getColor("Button.disabledText")); - SwingUtilities2.drawStringUnderlineCharAt(c, g, text, -1, + UIUtilities.drawStringUnderlineCharAt(c, g, text, -1, textRect.x + getTextShiftOffset(), textRect.y + metrics.getAscent() + getTextShiftOffset()); } @@ -182,7 +181,7 @@ public class DarculaButtonUI extends BasicButtonUI { protected void paintContents(Graphics g, AbstractButton b) { if (b instanceof JBOptionButton) return; - FontMetrics fm = SwingUtilities2.getFontMetrics(b, g); + FontMetrics fm = UIUtilities.getFontMetrics(b, g); boolean isDotButton = isSquare(b) && b.getIcon() == AllIcons.General.Ellipsis; String text = isDotButton ? "..." : b.getText(); Icon icon = isDotButton ? null : b.getIcon(); diff --git a/platform/platform-impl/src/com/intellij/ide/ui/laf/darcula/ui/DarculaCheckBoxUI.java b/platform/platform-impl/src/com/intellij/ide/ui/laf/darcula/ui/DarculaCheckBoxUI.java index fd2d9d71d658..f9cecf925635 100644 --- a/platform/platform-impl/src/com/intellij/ide/ui/laf/darcula/ui/DarculaCheckBoxUI.java +++ b/platform/platform-impl/src/com/intellij/ide/ui/laf/darcula/ui/DarculaCheckBoxUI.java @@ -3,7 +3,6 @@ package com.intellij.ide.ui.laf.darcula.ui; import com.intellij.openapi.util.SystemInfo; import com.intellij.util.ui.*; -import sun.swing.SwingUtilities2; import javax.swing.*; import javax.swing.plaf.ComponentUI; @@ -52,7 +51,7 @@ public class DarculaCheckBoxUI extends MetalCheckBoxUI { Font f = c.getFont(); g.setFont(f); - FontMetrics fm = SwingUtilities2.getFontMetrics(c, g, f); + FontMetrics fm = UIUtilities.getFontMetrics(c, g, f); String text = SwingUtilities.layoutCompoundLabel( c, fm, b.getText(), getDefaultIcon(), @@ -92,7 +91,7 @@ public class DarculaCheckBoxUI extends MetalCheckBoxUI { } else { g.setColor(b.isEnabled() ? b.getForeground() : getDisabledTextColor()); final int mnemonicIndex = SystemInfo.isMac && !UIManager.getBoolean("Button.showMnemonics") ? -1 : b.getDisplayedMnemonicIndex(); - SwingUtilities2.drawStringUnderlineCharAt(c, g, text, + UIUtilities.drawStringUnderlineCharAt(c, g, text, mnemonicIndex, textRect.x, textRect.y + fm.getAscent()); diff --git a/platform/platform-impl/src/com/intellij/ide/ui/laf/darcula/ui/DarculaMenuItemUIBase.java b/platform/platform-impl/src/com/intellij/ide/ui/laf/darcula/ui/DarculaMenuItemUIBase.java index 0cc5d36f3e72..be6ff2775cc5 100644 --- a/platform/platform-impl/src/com/intellij/ide/ui/laf/darcula/ui/DarculaMenuItemUIBase.java +++ b/platform/platform-impl/src/com/intellij/ide/ui/laf/darcula/ui/DarculaMenuItemUIBase.java @@ -3,8 +3,8 @@ package com.intellij.ide.ui.laf.darcula.ui; import com.intellij.ide.ui.UISettings; import com.intellij.util.ui.JBInsets; +import com.intellij.util.ui.UIUtilities; import sun.swing.MenuItemLayoutHelper; -import sun.swing.SwingUtilities2; import javax.swing.*; import javax.swing.plaf.ComponentUI; @@ -129,16 +129,16 @@ public class DarculaMenuItemUIBase extends BasicMenuItemUI { // *** paint the accText disabled if (disabledForeground != null) { g.setColor(disabledForeground); - SwingUtilities2.drawString(lh.getMenuItem(), g, - lh.getAccText(), lr.getAccRect().x, + UIUtilities.drawString(lh.getMenuItem(), g, + lh.getAccText(), lr.getAccRect().x, lr.getAccRect().y + lh.getAccFontMetrics().getAscent()); } else { g.setColor(lh.getMenuItem().getBackground().brighter()); - SwingUtilities2.drawString(lh.getMenuItem(), g, + UIUtilities.drawString(lh.getMenuItem(), g, lh.getAccText(), lr.getAccRect().x, lr.getAccRect().y + lh.getAccFontMetrics().getAscent()); g.setColor(lh.getMenuItem().getBackground().darker()); - SwingUtilities2.drawString(lh.getMenuItem(), g, + UIUtilities.drawString(lh.getMenuItem(), g, lh.getAccText(), lr.getAccRect().x - 1, lr.getAccRect().y + lh.getFontMetrics().getAscent() - 1); } @@ -151,7 +151,7 @@ public class DarculaMenuItemUIBase extends BasicMenuItemUI { } else { g.setColor(acceleratorForeground); } - SwingUtilities2.drawString(lh.getMenuItem(), g, lh.getAccText(), + UIUtilities.drawString(lh.getMenuItem(), g, lh.getAccText(), lr.getAccRect().x, lr.getAccRect().y + lh.getAccFontMetrics().getAscent()); } diff --git a/platform/platform-impl/src/com/intellij/ide/ui/laf/darcula/ui/DarculaProgressBarUI.java b/platform/platform-impl/src/com/intellij/ide/ui/laf/darcula/ui/DarculaProgressBarUI.java index a1d700dd99f1..ced4f6618a1b 100644 --- a/platform/platform-impl/src/com/intellij/ide/ui/laf/darcula/ui/DarculaProgressBarUI.java +++ b/platform/platform-impl/src/com/intellij/ide/ui/laf/darcula/ui/DarculaProgressBarUI.java @@ -7,7 +7,7 @@ import com.intellij.ui.JBColor; import com.intellij.util.ui.JBInsets; import com.intellij.util.ui.JBUI; import com.intellij.util.ui.UIUtil; -import sun.swing.SwingUtilities2; +import com.intellij.util.ui.UIUtilities; import javax.swing.*; import javax.swing.plaf.ComponentUI; @@ -169,21 +169,21 @@ public class DarculaProgressBarUI extends BasicProgressBarUI { if (progressBar.getOrientation() == SwingConstants.HORIZONTAL) { g.setColor(getSelectionBackground()); - SwingUtilities2.drawString(progressBar, g, progressString, renderLocation.x, renderLocation.y); + UIUtilities.drawString(progressBar, g, progressString, renderLocation.x, renderLocation.y); g.setColor(getSelectionForeground()); g.clipRect(fillStart, y, amountFull, h); - SwingUtilities2.drawString(progressBar, g, progressString, renderLocation.x, renderLocation.y); + UIUtilities.drawString(progressBar, g, progressString, renderLocation.x, renderLocation.y); } else { // VERTICAL g.setColor(getSelectionBackground()); AffineTransform rotate = AffineTransform.getRotateInstance(Math.PI/2); g.setFont(progressBar.getFont().deriveFont(rotate)); renderLocation = getStringPlacement(g, progressString, x, y, w, h); - SwingUtilities2.drawString(progressBar, g, progressString, renderLocation.x, renderLocation.y); + UIUtilities.drawString(progressBar, g, progressString, renderLocation.x, renderLocation.y); g.setColor(getSelectionForeground()); g.clipRect(x, fillStart, w, amountFull); - SwingUtilities2.drawString(progressBar, g, progressString, renderLocation.x, renderLocation.y); + UIUtilities.drawString(progressBar, g, progressString, renderLocation.x, renderLocation.y); } g.setClip(oldClip); } diff --git a/platform/platform-impl/src/com/intellij/ide/ui/laf/darcula/ui/DarculaRadioButtonUI.java b/platform/platform-impl/src/com/intellij/ide/ui/laf/darcula/ui/DarculaRadioButtonUI.java index e40c1c82ce0e..8feb28cf5f62 100644 --- a/platform/platform-impl/src/com/intellij/ide/ui/laf/darcula/ui/DarculaRadioButtonUI.java +++ b/platform/platform-impl/src/com/intellij/ide/ui/laf/darcula/ui/DarculaRadioButtonUI.java @@ -1,11 +1,7 @@ // Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. package com.intellij.ide.ui.laf.darcula.ui; -import com.intellij.util.ui.EmptyIcon; -import com.intellij.util.ui.JBInsets; -import com.intellij.util.ui.JBUI; -import com.intellij.util.ui.LafIconLookup; -import sun.swing.SwingUtilities2; +import com.intellij.util.ui.*; import javax.swing.*; import javax.swing.plaf.ComponentUI; @@ -46,7 +42,7 @@ public class DarculaRadioButtonUI extends MetalRadioButtonUI { Font f = c.getFont(); g.setFont(f); - FontMetrics fm = SwingUtilities2.getFontMetrics(c, g, f); + FontMetrics fm = UIUtilities.getFontMetrics(c, g, f); String text = SwingUtilities.layoutCompoundLabel( c, fm, b.getText(), getDefaultIcon(), @@ -84,7 +80,7 @@ public class DarculaRadioButtonUI extends MetalRadioButtonUI { } else { int mnemonicIndex = b.getDisplayedMnemonicIndex(); g.setColor(b.isEnabled() ? b.getForeground() : getDisabledTextColor()); - SwingUtilities2.drawStringUnderlineCharAt(b, g, text, mnemonicIndex, textRect.x, textRect.y + fm.getAscent()); + UIUtilities.drawStringUnderlineCharAt(b, g, text, mnemonicIndex, textRect.x, textRect.y + fm.getAscent()); } } diff --git a/platform/platform-impl/src/com/intellij/ide/ui/laf/darcula/ui/DarculaTabbedPaneUI.java b/platform/platform-impl/src/com/intellij/ide/ui/laf/darcula/ui/DarculaTabbedPaneUI.java index a50694be659c..ae1e136e0759 100644 --- a/platform/platform-impl/src/com/intellij/ide/ui/laf/darcula/ui/DarculaTabbedPaneUI.java +++ b/platform/platform-impl/src/com/intellij/ide/ui/laf/darcula/ui/DarculaTabbedPaneUI.java @@ -6,7 +6,7 @@ import com.intellij.ui.JBColor; import com.intellij.util.ui.JBInsets; import com.intellij.util.ui.JBUI; import com.intellij.util.ui.JBValue; -import sun.swing.SwingUtilities2; +import com.intellij.util.ui.UIUtilities; import javax.swing.*; import javax.swing.plaf.ComponentUI; @@ -198,7 +198,7 @@ public class DarculaTabbedPaneUI extends BasicTabbedPaneUI { g.setFont(font); g.setColor(DISABLED_TEXT_COLOR); - SwingUtilities2.drawStringUnderlineCharAt(tabPane, g, title, mnemIndex, textRect.x, textRect.y + metrics.getAscent()); + UIUtilities.drawStringUnderlineCharAt(tabPane, g, title, mnemIndex, textRect.x, textRect.y + metrics.getAscent()); } } @@ -292,7 +292,7 @@ public class DarculaTabbedPaneUI extends BasicTabbedPaneUI { } else { // plain text String title = tabPane.getTitleAt(tabIndex); - width += SwingUtilities2.stringWidth(tabPane, metrics, title); + width += UIUtilities.stringWidth(tabPane, metrics, title); } } return width; diff --git a/platform/platform-impl/src/com/intellij/ide/ui/laf/intellij/MacIntelliJButtonUI.java b/platform/platform-impl/src/com/intellij/ide/ui/laf/intellij/MacIntelliJButtonUI.java index cd56e41d5a46..6336371502ed 100644 --- a/platform/platform-impl/src/com/intellij/ide/ui/laf/intellij/MacIntelliJButtonUI.java +++ b/platform/platform-impl/src/com/intellij/ide/ui/laf/intellij/MacIntelliJButtonUI.java @@ -3,11 +3,7 @@ package com.intellij.ide.ui.laf.intellij; import com.intellij.ide.ui.laf.darcula.ui.DarculaButtonUI; import com.intellij.ui.Gray; -import com.intellij.util.ui.JBUI; -import com.intellij.util.ui.LafIconLookup; -import com.intellij.util.ui.MacUIUtil; -import com.intellij.util.ui.UIUtil; -import sun.swing.SwingUtilities2; +import com.intellij.util.ui.*; import javax.swing.*; import javax.swing.plaf.ComponentUI; @@ -135,6 +131,6 @@ public class MacIntelliJButtonUI extends DarculaButtonUI { } else { g.setColor(UIManager.getColor("Button.disabledText")); } - SwingUtilities2.drawStringUnderlineCharAt(c, g, text, -1, x, y); + UIUtilities.drawStringUnderlineCharAt(c, g, text, -1, x, y); } } diff --git a/platform/platform-impl/src/com/intellij/ide/ui/laf/intellij/WinIntelliJButtonUI.java b/platform/platform-impl/src/com/intellij/ide/ui/laf/intellij/WinIntelliJButtonUI.java index c43821d5482f..ac4cb69b0b47 100644 --- a/platform/platform-impl/src/com/intellij/ide/ui/laf/intellij/WinIntelliJButtonUI.java +++ b/platform/platform-impl/src/com/intellij/ide/ui/laf/intellij/WinIntelliJButtonUI.java @@ -18,7 +18,6 @@ package com.intellij.ide.ui.laf.intellij; import com.intellij.ide.ui.laf.darcula.DarculaUIUtil; import com.intellij.ide.ui.laf.darcula.ui.DarculaButtonUI; import com.intellij.util.ui.*; -import sun.swing.SwingUtilities2; import javax.swing.*; import javax.swing.plaf.ComponentUI; @@ -118,7 +117,7 @@ public class WinIntelliJButtonUI extends DarculaButtonUI { Graphics2D g2 = (Graphics2D)g.create(); try { g2.setColor(UIManager.getColor("Button.disabledText")); - SwingUtilities2.drawStringUnderlineCharAt(c, g2, text, -1, + UIUtilities.drawStringUnderlineCharAt(c, g2, text, -1, textRect.x + getTextShiftOffset(), textRect.y + metrics.getAscent() + getTextShiftOffset()); } finally { diff --git a/platform/platform-impl/src/com/intellij/openapi/actionSystem/impl/ActionButtonWithText.java b/platform/platform-impl/src/com/intellij/openapi/actionSystem/impl/ActionButtonWithText.java index a5ff83bc9c60..2e9db715b5a9 100644 --- a/platform/platform-impl/src/com/intellij/openapi/actionSystem/impl/ActionButtonWithText.java +++ b/platform/platform-impl/src/com/intellij/openapi/actionSystem/impl/ActionButtonWithText.java @@ -10,13 +10,9 @@ import com.intellij.openapi.util.SystemInfo; import com.intellij.openapi.util.registry.Registry; import com.intellij.openapi.util.text.StringUtil; import com.intellij.util.BitUtil; -import com.intellij.util.ui.EmptyIcon; -import com.intellij.util.ui.JBInsets; -import com.intellij.util.ui.JBUI; -import com.intellij.util.ui.UIUtil; +import com.intellij.util.ui.*; import org.intellij.lang.annotations.MagicConstant; import org.jetbrains.annotations.NotNull; -import sun.swing.SwingUtilities2; import javax.swing.*; import javax.swing.plaf.ComponentInputMapUIResource; @@ -154,9 +150,9 @@ public class ActionButtonWithText extends ActionButton { UISettings.setupAntialiasing(g); g.setColor(isButtonEnabled() ? getForeground() : getInactiveTextColor()); - SwingUtilities2.drawStringUnderlineCharAt(this, g, text, - getMnemonicCharIndex(text), - textRect.x, + UIUtilities.drawStringUnderlineCharAt(this, g, text, + getMnemonicCharIndex(text), + textRect.x, textRect.y + fm.getAscent()); } diff --git a/platform/platform-impl/src/com/intellij/openapi/editor/impl/view/TextFragmentFactory.java b/platform/platform-impl/src/com/intellij/openapi/editor/impl/view/TextFragmentFactory.java index f3e625312e15..0c373e2430d3 100644 --- a/platform/platform-impl/src/com/intellij/openapi/editor/impl/view/TextFragmentFactory.java +++ b/platform/platform-impl/src/com/intellij/openapi/editor/impl/view/TextFragmentFactory.java @@ -16,8 +16,8 @@ package com.intellij.openapi.editor.impl.view; import com.intellij.openapi.editor.impl.FontInfo; +import com.intellij.util.ui.UIUtilities; import org.jetbrains.annotations.NotNull; -import sun.swing.SwingUtilities2; class TextFragmentFactory { public static TextFragment createTextFragment(@NotNull char[] lineChars, int start, int end, boolean isRtl, @NotNull FontInfo fontInfo) { @@ -31,6 +31,6 @@ class TextFragmentFactory { private static boolean isComplexText(char[] chars, int start, int end) { // replace with Font.textRequiresLayout in Java 9 - return SwingUtilities2.isComplexLayout(chars, start, end); + return UIUtilities.isComplexLayout(chars, start, end); } } diff --git a/platform/platform-impl/src/com/intellij/openapi/wm/impl/content/ContentTabLabel.java b/platform/platform-impl/src/com/intellij/openapi/wm/impl/content/ContentTabLabel.java index a17ae0e5f921..a694196d18b0 100644 --- a/platform/platform-impl/src/com/intellij/openapi/wm/impl/content/ContentTabLabel.java +++ b/platform/platform-impl/src/com/intellij/openapi/wm/impl/content/ContentTabLabel.java @@ -16,9 +16,9 @@ import com.intellij.util.SmartList; import com.intellij.util.ui.BaseButtonBehavior; import com.intellij.util.ui.JBUI; import com.intellij.util.ui.TimedDeadzone; +import com.intellij.util.ui.UIUtilities; import gnu.trove.THashMap; import org.jetbrains.annotations.NotNull; -import sun.swing.SwingUtilities2; import javax.swing.*; import javax.swing.border.EmptyBorder; @@ -147,14 +147,14 @@ class ContentTabLabel extends BaseLabel { private void updateText() { FontMetrics fm = getFontMetrics(getFont()); - int textWidth = SwingUtilities2.stringWidth(this, fm, myText); + int textWidth = UIUtilities.stringWidth(this, fm, myText); int prefWidth = myIconWithInsetsWidth + textWidth; int maxWidth = getMaximumSize().width; if(prefWidth > maxWidth) { int offset = maxWidth - myIconWithInsetsWidth; - String s = SwingUtilities2.clipString(this, fm, myText, offset); + String s = UIUtilities.clipString(this, fm, myText, offset); super.setText(s); return; } diff --git a/platform/util/intellij.platform.util.iml b/platform/util/intellij.platform.util.iml index 3a006aa38888..67d21f107f3b 100644 --- a/platform/util/intellij.platform.util.iml +++ b/platform/util/intellij.platform.util.iml @@ -26,6 +26,7 @@ + diff --git a/platform/util/src/com/intellij/util/ui/AATextInfo.java b/platform/util/src/com/intellij/util/ui/AATextInfo.java index 93b14e779065..237c2a3881ab 100644 --- a/platform/util/src/com/intellij/util/ui/AATextInfo.java +++ b/platform/util/src/com/intellij/util/ui/AATextInfo.java @@ -6,7 +6,6 @@ import com.intellij.openapi.util.SystemInfo; import com.intellij.util.ObjectUtils; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import sun.swing.SwingUtilities2; import javax.swing.*; import java.awt.*; @@ -40,7 +39,7 @@ public class AATextInfo { if (SystemInfo.IS_AT_LEAST_JAVA9) { return new AATextInfo(aaHint, lcdContrastHint); } - return new SwingUtilities2.AATextInfo(aaHint, lcdContrastHint); + return new UIUtilities.AATextInfo(aaHint, lcdContrastHint); } public static void putClientProperty(@Nullable Object aaTextInfo, @NotNull JComponent comp) { @@ -49,7 +48,7 @@ public class AATextInfo { comp.putClientProperty(RenderingHints.KEY_TEXT_ANTIALIASING, info.aaHint); comp.putClientProperty(RenderingHints.KEY_TEXT_LCD_CONTRAST, info.lcdContrastHint); } else { - comp.putClientProperty(SwingUtilities2.AA_TEXT_PROPERTY_KEY, aaTextInfo); + comp.putClientProperty(UIUtilities.AA_TEXT_PROPERTY_KEY, aaTextInfo); } } @@ -59,7 +58,7 @@ public class AATextInfo { Object lcdContrastHint = comp.getClientProperty(RenderingHints.KEY_TEXT_LCD_CONTRAST); return new AATextInfo(aaHint, lcdContrastHint != null ? (Integer)lcdContrastHint : null); } - return comp.getClientProperty(SwingUtilities2.AA_TEXT_PROPERTY_KEY); + return comp.getClientProperty(UIUtilities.AA_TEXT_PROPERTY_KEY); } public static Pair[] toArray(@Nullable Object aaTextInfo) { @@ -72,6 +71,6 @@ public class AATextInfo { }; } //noinspection unchecked - return new Pair[] {Pair.create(SwingUtilities2.AA_TEXT_PROPERTY_KEY, aaTextInfo)}; + return new Pair[] {Pair.create(UIUtilities.AA_TEXT_PROPERTY_KEY, aaTextInfo)}; } }