code: public double render(Graphics2D g2) {
  		double labelSize = (double)getMetrics().getTextFontWidth(ScoreElements.PART_LABEL, getText());
  		Font previousFont = g2.getFont();
  		Color previousColor = g2.getColor();
  		setColor(g2, ScoreElements.PART_LABEL);
  		Rectangle2D bb = getBoundingBox();
  		g2.setFont(getTemplate().getTextFont(ScoreElements.PART_LABEL));
  		float descent = g2.getFont().getLineMetrics(getText(), g2.getFontRenderContext())
  			.getDescent();
  		g2.drawString(getText(), (int)(bb.getCenterX() - labelSize/2),
  				(int)(bb.getY() + bb.getHeight() - descent));
  		g2.setFont(previousFont);
  		g2.draw(bb);
  		g2.setColor(previousColor);
  		return getWidth();
  	}
docs: /* (non-Javadoc)
  @see abc.ui.swing.JText#render(java.awt.Graphics2D)