@Override
	public void paintBorder(Component component, Graphics gc, int x, int y, int width, int height) {
		Color savedColor = gc.getColor();
		gc.setColor(Color.lightGray);
		gc.drawLine(x + width - 2, y + 2, x + width - 2, y + height - 1);
		gc.drawLine(x + width - 1, y + 2, x + width - 1, y + height - 1);
		gc.drawLine(x + 2, y + height - 2, x + width - 1, y + height - 2);
		gc.drawLine(x + 2, y + height - 1, x + width - 1, y + height - 1);
		gc.setColor(Color.black);
		gc.drawRect(x, y, width - 3, height - 3);
		if (mTitle != null) {
			Font savedFont = gc.getFont();
			gc.setFont(mFont);
			int th = TextDrawing.getPreferredSize(mFont, mTitle).height;
			Rectangle bounds = new Rectangle(x, y, width - 3, th + 2);
			gc.fillRect(x, y, width - 3, th + 1);
			gc.setColor(Color.white);
			TextDrawing.draw(gc, bounds, mTitle, SwingConstants.CENTER, SwingConstants.TOP);
			gc.setFont(savedFont);
		}
		gc.setColor(savedColor);
	}