void (Component c, Graphics g, int x, int y) { // Draw icon int height = getIconHeight(); int iconHeight = myIcon.getIconHeight(); if (height > iconHeight) { myIcon.paintIcon(c, g, x, y + (height - iconHeight) / 2); } else { myIcon.paintIcon(c, g, x, y); } // Draw text if (myStrings != null) { Font font = StartupUiUtil.getLabelFont(); FontMetrics fontMetrics = Toolkit.getDefaultToolkit().getFontMetrics(font); g.setFont(fontMetrics.getFont()); g.setColor(UIUtil.getLabelForeground()); x += myIcon.getIconWidth() + 5; y += (height - getTextHeight()) / 2 + fontMetrics.getHeight() - fontMetrics.getDescent(); for (String string : myStrings) { g.drawString(string, x, y); y += fontMetrics.getHeight(); } if (myMnemonic != null) { g.setColor(NamedColorUtil.getInactiveTextColor()); int offset = fontMetrics.stringWidth(myStrings[myStrings.length-1]+" "); y -= fontMetrics.getHeight(); g.drawString(myMnemonic, x + offset, y); } } }