private void popupErrorMessage() {
		if (errorMessage == null) {
			return;
		}

		DockingUtils.setTipWindowEnabled(false);

		Point location = searchInputField.getLocation();
		adjustLocationForCaretPosition(location);
		location.y += searchInputField.getHeight() + 5;

		JToolTip tip = new JToolTip();
		tip.setTipText(errorMessage);
		errorMessage = null;

		if (popup != null) {
			popup.dispose();
			clearInputMonitor.cancel();
		}
		popup = new PopupWindow(tip);
		popup.showPopup(searchInputField.getParent(), location, true);
		clearInputMonitor = GTimer.scheduleRunnable(2000, this::clearInputError);
		Toolkit.getDefaultToolkit().beep();
	}
Internal panel of the memory search window that manages the controls for the search feature. This
panel can be added or removed via a toolbar action. This panel is showing by default.
Ghidra/Features/Base/src/main/java/ghidra/features/base/memsearch/gui/MemorySearchControlPanel.java