@Override
	public void paintComponent(final Graphics g) {
		// Check if we have a running game
		super.paintComponent(g);
		g.setColor(this.getBackground());
		g.fillRect(0, 0, getWidth(), getHeight());

		if (this.model != null) {

			// Draw all tiles by going over them x-wise and y-wise.
			for (int i = 0; i < this.modelSize.width; i++) {
				for (int j = 0; j < this.modelSize.height; j++) {
					GameTile tile = this.model.getGameboardState(i, j);
					tile.draw(g, i * this.tileSize.width, j
							* this.tileSize.height,
							this.tileSize);
				}
			}
		} else {
			g.setFont(new Font("Sans", Font.BOLD, 24));
			g.setColor(Color.BLACK);
			final char[] message = "No model chosen.".toCharArray(); 
			g.drawChars(message, 0, message.length, 50, 50);
		}
	}