public void showMessage(String newMessage, AnimationPainter painter) {

		hide();

		this.message = Objects.requireNonNull(newMessage);

		AnimationRunner runner = new AnimationRunner(component);

		double full = 1D;
		double emphasized = 1.2D;
		Double[] stages = new Double[] { full, emphasized, emphasized, emphasized, full };
		runner.setValues(stages);
		runner.setDuration(Duration.ofMillis(500));
		runner.setRemovePainterWhenFinished(false); // we will remove it ourselves
		runner.setPainter(painter);
		runner.start();

		animationRunner = runner;

		// remove the text later so users have a chance to read it
		timerMonitor = GTimer.scheduleRunnable(hideDelay.toMillis(), () -> {
			Swing.runNow(() -> hide());
		});
	}
Shows a message at the bottom of the component used by this class.
@param newMessage the message
Ghidra/Framework/Docking/src/main/java/docking/util/GGlassPaneMessage.java