ui: fix rendering of separators with text on toolbar

Actual text width depends on antialiasing settings.
This commit is contained in:
Aleksey Pivovarov
2018-05-25 18:57:59 +03:00
parent 93573017e2
commit 7f56a9dbd0
@@ -985,8 +985,17 @@ public class ActionToolbarImpl extends JPanel implements ActionToolbar, QuickAct
if (myOrientation == SwingConstants.HORIZONTAL) {
if (myText != null) {
FontMetrics fontMetrics = getFontMetrics(getFont());
return new JBDimension(JBUI.scale(9) + fontMetrics.stringWidth(myText) + JBUI.scale(4),
Math.max(fontMetrics.getHeight(), JBUI.scale(24)), true);
Graphics g = getGraphics().create();
try {
UISettings.setupAntialiasing(g);
int textWidth = fontMetrics.getStringBounds(myText, g).getBounds().width;
return new JBDimension(JBUI.scale(9) + textWidth + JBUI.scale(4),
Math.max(fontMetrics.getHeight(), JBUI.scale(24)), true);
}
finally {
g.dispose();
}
}
else {
return JBUI.size(7, 24);