@Override
		protected void paintComponent(Graphics g) {
			if (!taskManager.isSuspended()) {
				return;
			}
			Graphics2D g2 = (Graphics2D) g;
			g2.setComposite(SCROLLED_TEXT_ALPHA_COMPOSITE);

			Font font = Gui.getFont(FONT_ID);
			g.setFont(font);
			g.setColor(Palette.BLUE);
			if (messageDimension == null) {
				FontMetrics fontMetrics = getFontMetrics(font);
				messageDimension = fontMetrics.getStringBounds(TEXT, g2).getBounds();
			}
			Dimension size = getSize();
			int centerY = size.height / 2;
			int centerX = size.width / 2;

			int x = centerX - messageDimension.width / 2;
			int y = centerY + messageDimension.height / 2;
			GraphicsUtils.drawString(this, g, TEXT, x, y);
		}
Uses a layered pane to create a "watermark effect" to show when the GTaskManger is suspended.
Ghidra/Framework/Project/src/main/java/ghidra/framework/task/gui/taskview/TaskViewer.java