private void browseForIcons() {
		GhidraFileChooser chooser = new GhidraFileChooser(getComponent());
		chooser.setFileSelectionMode(GhidraFileChooserMode.FILES_ONLY);
		chooser.setTitle("Choose Icon");
		chooser.setApproveButtonToolTipText("Choose Icon");
		chooser.setFileFilter(
			new ExtensionFileFilter(new String[] { "gif", "jpg", "bmp", "png" }, "Image Files"));
		String iconDir = Preferences.getProperty(LAST_ICON_DIRECTORY);
		if (iconDir != null) {
			File dir = new File(iconDir);
			if (dir.isDirectory()) {
				chooser.setCurrentDirectory(dir);
			}
		}
		File file = chooser.getSelectedFile();
		chooser.dispose();
		if (file == null) {
			return;
		}

		String filename = file.getAbsolutePath();
		iconField.setText(filename);

		ToolIconURL url = new ToolIconURL(filename);
		iconListModel.addElement(url);
		iconList.setSelectedValue(url, true);
		setPicture(url);

		Preferences.setProperty(LAST_ICON_DIRECTORY, file.getParent());
	}
Pop up a file chooser for the user to look for icon images.
Ghidra/Framework/Project/src/main/java/ghidra/framework/plugintool/dialog/SaveToolConfigDialog.java