@Override
	protected void paintComponent(Graphics g) {
		Graphics2D g2d = (Graphics2D) g;
		g2d.translate(-getX(), -getY());
		g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
				RenderingHints.VALUE_ANTIALIAS_ON);
		g2d.setStroke(new BasicStroke(5));
		g2d.setColor(Color.black);
		if (path_ != null) {
			g2d.draw(path_);
		}
		g2d.setStroke(new BasicStroke(3));
		if (isSelected() || __debug) {
			g2d.setColor(Color.yellow);
		} else {
			g2d.setColor(Color.lightGray);
		}

		if (path_ != null) {
			g2d.draw(path_);
		}
		g2d.setStroke(new BasicStroke());

		g2d.fillOval(p2.x - 4, p2.y - 4, 8, 8);
		g2d.fillOval(p1.x - 4, p1.y - 4, 8, 8);

		g2d.translate(getX(), getY());

	}