private void createFileChooser() {
			if (fileChooser == null) {
				fileChooser = new GhidraFileChooser(browseButton);
			}

			fileChooser.setApproveButtonText("Choose Path");
			fileChooser.setTitle("Choose Path");
			fileChooser.setFileSelectionMode(GhidraFileChooserMode.FILES_AND_DIRECTORIES);
			if (fileFilter != null) {
				fileChooser.setFileFilter(fileFilter);
			}
			if (currentFileValue != null) {
				fileChooser.setSelectedFile(currentFileValue);
			}
			else if (currentFileValue != null) {
				File file = currentFileValue;
				if (file.exists()) {
					if (file.isDirectory()) {
						fileChooser.setCurrentDirectory(file);
					}
					else {
						fileChooser.setCurrentDirectory(file.getParentFile());
						fileChooser.setSelectedFile(file);
					}
				}
				else {
					File parent = file.getParentFile();
					if (parent == null) {
						String homeDir = System.getProperty("user.home");
						fileChooser.setCurrentDirectory(new File(homeDir));
					}
					if (parent != null) {
						fileChooser.setCurrentDirectory(parent);
					}
				}
			}
			else if (currentDir != null) {
				fileChooser.setCurrentDirectory(currentDir);
			}
		}
Bean editor to show a text field and a browse button to bring
up a File Chooser dialog. This editor is created as a result of
get/setFilename() on Options.
Ghidra/Framework/Docking/src/main/java/docking/options/editor/FileChooserEditor.java