private void displayFileChooser() {
			AtomicReference<String> result = new AtomicReference<>();
			DataTreeDialog dataTreeDialog =
				new DataTreeDialog(this, title, OPEN, filter);
			dataTreeDialog.addOkActionListener(e -> {
				dataTreeDialog.close();
				DomainFile df = dataTreeDialog.getDomainFile();
				result.set(df != null ? df.getPathname() : null);
			});
			dataTreeDialog.showComponent();

			String newPath = result.get();
			if (newPath != null) {
				textField.setText(newPath);
				ProjectPathChooserEditor.this.firePropertyChange();
			}
		}
Bean editor to show a text field and a browse button to bring
up a Domain File Chooser dialog.  The path of the chosen domain file is returned as
a String value.
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/analysis/ProjectPathChooserEditor.java