public synchronized void setStatus(String status, double progress)
	{
		if ((splash == null) || (!splash.isVisible())) return;
		if ((progress < 0) || (progress > 1))
			throw new IllegalArgumentException("Invalid progress " + progress);
		graphics.setColor(progressColor);
		int width = (int) (progress * progressArea.width);
		graphics.fillRect(progressArea.x, progressArea.y, width, progressArea.height);
		graphics.setComposite(AlphaComposite.Clear);
		graphics.fillRect(statusPosition.x, statusPosition.y, statusLastWidth, graphics.getFontMetrics().getHeight());
		graphics.setPaintMode();
		graphics.setColor(statusColor);
		graphics.drawString(status, statusPosition.x, statusPosition.y + graphics.getFontMetrics().getAscent());
		statusLastWidth = graphics.getFontMetrics().stringWidth(status);
		splash.update();
	}