private Component generateMainPane() {
		JPanel drawingCanvas = new JPanel() {

			@Override
			public void paintComponent(Graphics g) {
				super.paintComponent(g);
				// setting to white because someone didn't supplied a picture
				// with transparent background...
				setBackground(Color.WHITE);

				Display.this.lock.lock();
				try {
					g.drawImage(Display.this.img, Display.this.flyPosition[0], Display.this.flyPosition[1], this);
				} finally {
					Display.this.lock.unlock();
				}
			}
		};

		drawingCanvas.setPreferredSize(new Dimension(300, 300));

		drawingCanvas.addMouseListener(new MouseAdapter() {
			@Override
			public void mouseClicked(MouseEvent e) {
				if (e.getX() > Display.this.flyPosition[0] && e.getX() < Display.this.flyPosition[0] + Display.this.img.getWidth(null)
						&& e.getY() > Display.this.flyPosition[1] && e.getY() < Display.this.flyPosition[1] + Display.this.img.getHeight(null)) {
					Display.this.client.notifyFlyCatched();
				}
			}
		});

		return drawingCanvas;
	}