public void paintComponent(Graphics g) {
		if (myImage == null)
			return;

		Rectangle r = getVisibleRect(), r2 = new Rectangle(getPreferredSize());
		int offsetx = r.width > r2.width ? (r.width - r2.width) / 2 : 0;
		int offsety = r.height > r2.height ? (r.height - r2.height) / 2 : 0;
		r = r.intersection(r2);
		g.drawImage(myImage, r.x + offsetx, r.y + offsety, r.x + r.width
				+ offsetx, r.y + r.height + offsety, r.x, r.y, r.x + r.width,
				r.y + r.height, this);
	}