private void validate() {
		String message = null;

		if (GhidraProjectCreatorPreferences.getGhidraInstallDirs().isEmpty()) {
			message = "No Ghidra installations found.  Click the + button to add one.";
		}
		else if (ghidraInstallDirCombo.getText().isEmpty()) {
			message = "Ghidra installation must be specified.";
		}
		else {
			try {
				File ghidraInstallDir = new File(ghidraInstallDirCombo.getText());
				GhidraProjectCreatorPreferencePage.validateGhidraInstallation(ghidraInstallDir);
				try {
					AppConfig appConfig = new AppConfig(ghidraInstallDir);
					if (!appConfig.isSupportedJavaHomeDir(appConfig.getSavedJavaHome(),
						JavaFilter.JDK_ONLY)) {
						message = "A supported JDK is not associated with this Ghidra " +
							"installation. Please run this Ghidra and try again.";
					}
				}
				catch (ParseException | IOException e) {
					message = "Failed to determine Ghidra's JDK version.  " + e.getMessage();
				}
			}
			catch (IOException e) {
				message = e.getMessage();
			}
		}

		setErrorMessage(message);
		setPageComplete(message == null);
	}
Validates the fields on the page and updates the page's status.
Should be called every time a field on the page changes.
GhidraBuild/EclipsePlugins/GhidraDev/GhidraDevPlugin/src/main/java/ghidradev/ghidraprojectcreator/wizards/pages/ChooseGhidraInstallationWizardPage.java