diff --git a/platform/platform-api/src/com/intellij/ui/ColorPanel.java b/platform/platform-api/src/com/intellij/ui/ColorPanel.java index e790050cc4d5..6748fc24728b 100644 --- a/platform/platform-api/src/com/intellij/ui/ColorPanel.java +++ b/platform/platform-api/src/com/intellij/ui/ColorPanel.java @@ -15,6 +15,7 @@ */ package com.intellij.ui; +import com.intellij.ui.components.JBTextField; import com.intellij.util.ui.JBInsets; import com.intellij.util.ui.JBUI; import org.jetbrains.annotations.Nullable; @@ -36,7 +37,7 @@ import static java.util.Locale.ENGLISH; public class ColorPanel extends JComponent { private static final RelativeFont MONOSPACED_FONT = RelativeFont.SMALL.family(Font.MONOSPACED); private final List myListeners = new CopyOnWriteArrayList<>(); - private final JTextField myTextField = new JTextField(8); + private final JTextField myTextField = new JBTextField(8); private boolean myEditable; private ActionEvent myEvent; private Color myColor; diff --git a/platform/platform-api/src/com/intellij/ui/components/JBTextField.java b/platform/platform-api/src/com/intellij/ui/components/JBTextField.java index 1e24c4490b2e..8d0ed14c5d63 100644 --- a/platform/platform-api/src/com/intellij/ui/components/JBTextField.java +++ b/platform/platform-api/src/com/intellij/ui/components/JBTextField.java @@ -112,4 +112,16 @@ public class JBTextField extends JTextField implements ComponentWithEmptyText, T String text = ui == null ? null : ui.getToolTipText(this, event.getPoint()); return text != null ? text : getToolTipText(); } + + @Override + public Dimension getPreferredSize() { + Dimension size = super.getPreferredSize(); + int columns = getColumns(); + if (columns != 0) { + Insets insets = getInsets(); + Insets margins = getMargin(); // Account for margins + size.width = columns * getColumnWidth() + insets.left + margins.left + margins.right + insets.right; + } + return size; + } }