private static void initializeSplashWindowAndParent(final JFrame parentFrame) {

		Dimension wd = splashWindow.getPreferredSize();
		Point point = WindowUtilities.centerOnScreen(wd);
		splashWindow.setLocation(point);

		// move us when the parent frame moves
		parentFrame.addComponentListener(new ComponentAdapter() {
			@Override
			public void componentMoved(ComponentEvent e) {
				if (splashWindow == null) {
					return;
				}
				Point newPoint = WindowUtilities.centerOnComponent(parentFrame, splashWindow);
				splashWindow.setLocation(newPoint);
			}
		});

		Point framePoint = WindowUtilities.centerOnComponent(splashWindow, parentFrame);
		parentFrame.setBounds(new Rectangle(framePoint.x, framePoint.y, 0, 0));
		parentFrame.setResizable(false);
	}
Show the splash screen on the Swing thread now.  This will block.
@return the new splash screen
Ghidra/Framework/Docking/src/main/java/docking/framework/SplashScreen.java