private Component buildLanguageField() {
		JPanel panel = new JPanel(new BorderLayout());
		languageIdField = new JTextField();
		languageIdField.getAccessibleContext().setAccessibleName("Language Id");
		panel.add(languageIdField, BorderLayout.CENTER);
		JButton browseButton = new BrowseButton();
		browseButton.getAccessibleContext().setAccessibleName("Browse");
		browseButton.addActionListener(e -> {
			SelectLanguageDialog selectLanguageDialog =
				new SelectLanguageDialog("Select Language", "Ok");
			selectLanguageDialog.show();
			LanguageCompilerSpecPair selectedLanguage = selectLanguageDialog.getSelectedLanguage();
			if (selectedLanguage != null) {
				languageIdField.setText(selectedLanguage.languageID.toString());
			}
		});
		languageIdField.getDocument().addUndoableEditListener(e -> updateOkEnablement());
		panel.add(browseButton, BorderLayout.EAST);
		panel.getAccessibleContext().setAccessibleName("Language");
		return panel;

	}
Dialog for gathering information to populate a fid database.
Ghidra/Features/FunctionID/src/main/java/ghidra/feature/fid/plugin/PopulateFidDialog.java