private Component buildFilePanel() {
		File homeDir = new File(System.getProperty("user.home")); // prefer the home directory

		String name = themeManager.getActiveTheme().getName();
		String filename = name.replaceAll(" ", "_") + ".";
		filename += exportAsZip ? GTheme.ZIP_FILE_EXTENSION : GTheme.FILE_EXTENSION;
		File file = new File(homeDir, filename);

		fileTextField = new JTextField();
		fileTextField.setText(file.getAbsolutePath());
		fileTextField.setEditable(false);
		fileTextField.setFocusable(false);
		fileTextField.getAccessibleContext().setAccessibleName("File");
		JButton folderButton = new BrowseButton();
		folderButton.addActionListener(e -> chooseFile());
		folderButton.getAccessibleContext().setAccessibleName("Folder");

		JPanel panel = new JPanel(new BorderLayout());
		panel.add(fileTextField, BorderLayout.CENTER);
		panel.add(folderButton, BorderLayout.EAST);
		panel.getAccessibleContext().setAccessibleName("File");
		return panel;
	}
Dialog for exporting themes to external files or zip files.
Ghidra/Framework/Docking/src/main/java/docking/theme/gui/ExportThemeDialog.java