@Override
	public void paintComponent(Graphics g) {
		super.paintComponent(g);
		Graphics2D g2d = DrawingTools.setupGraphics(g);

		Position posa = connection.getA().getPosition();
		Position posb = connection.getB().getPosition();

		BasicStroke stroke;

		switch (connection.getType()) {
		case normal:
			stroke = new BasicStroke(3, BasicStroke.CAP_BUTT,
					BasicStroke.JOIN_BEVEL);
			g2d.setColor(STANDARD_COLOR);
			break;
		case flight:
			stroke = new BasicStroke(8, BasicStroke.CAP_BUTT,
					BasicStroke.JOIN_BEVEL);
			g2d.setColor(FLIGHT_COLOR);
			break;
		case boat:
			stroke = new BasicStroke(5, BasicStroke.CAP_BUTT,
					BasicStroke.JOIN_BEVEL);
			g2d.setColor(BOAT_COLOR);
			break;
		default:
			stroke = new BasicStroke(8, BasicStroke.CAP_BUTT,
					BasicStroke.JOIN_BEVEL);
		}

		g2d.setStroke(stroke);
		int offset = MarkDisplay.SIZE / 2;

		if (DrawingTools.isConnectionFromBottom(posa, posb)) {
			// Connection: /
			g2d.drawLine(
					offset,
					this.dimensionSize().height - offset,
					this.dimensionSize().width - offset,
					offset);
		} else {
			// Connection: \
			g2d.drawLine(
					offset, offset,
					this.dimensionSize().width - offset,
					this.dimensionSize().height - offset);
		}
	}