public void drawName(Graphics2D g, int cSize) {
		Font font = g.getFont();
		Font nf = new Font(Font.DIALOG, Font.PLAIN, font.getSize() * 3 / 4);
		g.setFont(nf);
		FontMetrics fm = g.getFontMetrics();
		Color cSave = g.getColor();
		int sWd = fm.stringWidth(this.getName());
		int sHt = fm.getAscent();

		Point p = this.getXY();
		int wd = cSize / 2 + 2;
		if (this.getPosition() == Position.left)
			p = new Point(p.x + wd, p.y + sHt / 2);
		else if (this.getPosition() == Position.right)
			p = new Point(p.x - wd - sWd, p.y + sHt / 2);
		else if (this.getPosition() == Position.top)
			p = new Point(p.x - sWd / 2, p.y + wd + fm.getAscent()
					- fm.getLeading());
		else
			p = new Point(p.x - sWd / 2, p.y - wd);
		g.setColor(Color.gray);
		g.drawString(this.getName(), p.x, p.y);
		g.setFont(font);
		g.setColor(cSave);
	}