void (Graphics g, AbstractButton b) { if (b instanceof JBOptionButton) return; FontMetrics fm = UIUtilities.getFontMetrics(b, g); boolean isDotButton = isSquare(b) && b.getIcon() == AllIcons.General.Ellipsis; @NlsSafe String text = isDotButton ? "..." : b.getText(); Icon icon = isDotButton ? null : b.getIcon(); text = layout(b, text, icon, fm, b.getWidth(), b.getHeight()); if (isSquare(b)) { if (b.getIcon() == AllIcons.General.Ellipsis) { UISettings.setupAntialiasing(g); paintText(g, b, textRect, text); } else if (b.getIcon() != null) { paintIcon(g, b, iconRect); } } else { // Paint the Icon if (b.getIcon() != null) { paintIcon(g, b, iconRect); } if (text != null && !text.isEmpty()) { View v = (View)b.getClientProperty(BasicHTML.propertyKey); if (v != null) { v.paint(g, textRect); } else { UISettings.setupAntialiasing(g); paintText(g, b, textRect, text); } } } }