SwingUtilities.layoutCompoundLabel(((JLabel) this), fm, getText(),
SwingUtilities.layoutCompoundLabel((JLabel) this, fm, getText(),
	public void paint(Graphics g)	{    // paint background    Rectangle vr = new Rectangle();    Rectangle ir = new Rectangle();    Rectangle tr = new Rectangle();    Insets insets = new Insets(0, 0, 0, 0);    Border border = UIManager.getBorder("Tree.selectionBorder");    if (border != null)      insets = border.getBorderInsets(this);    FontMetrics fm = getToolkit().getFontMetrics(getFont());    SwingUtilities.layoutCompoundLabel(((JLabel) this), fm, getText(),                                       getIcon(), getVerticalAlignment(),                                       getHorizontalAlignment(),                                       getVerticalTextPosition(),                                       getHorizontalTextPosition(), vr, ir, tr,                                       getIconTextGap());    // Reusing one rectangle.    Rectangle bounds = getBounds(ir);        bounds.x = tr.x - insets.left;    bounds.width = tr.width + insets.left+insets.right;        g.setColor(super.getBackground());    g.fillRect(bounds.x, bounds.y, bounds.width, bounds.height);    super.paint(g);    // Paint the border of the focused element only (lead selection)    if (hasFocus)      {    Color b = getBorderSelectionColor();    if (b != null)      {        g.setColor(b);            g.drawRect(bounds.x, bounds.y, bounds.width, bounds.height - 1);          }      }	}