private JComponent buildWorkPanel() {
		optionsPanel = new JPanel(new PairLayout(5, 5));
		optionsPanel.setBorder(BorderFactory.createTitledBorder("Options"));
		optionsPanel.getAccessibleContext().setAccessibleName("Options");
		buildCharsetPickerComponents();
		buildOptionsButtonComponents();
		buildAdvancedOptionsComponents();
		buildScriptFilterComponents();
		buildTranslateComponents();

		boolean ssm = selectedAddresses.getNumAddresses() == 1;

		addRow(new GLabel("Charset:", SwingConstants.RIGHT), charsetComboBox,
			showScriptOptionsButton, showTranslateOptionsButton, showAdvancedOptionsButton,
			advancedFailedCountLabel);

		GLabel scriptLabel = new GLabel("Script:", SwingConstants.RIGHT);
		scriptLabel.getAccessibleContext().setAccessibleName("Script");
		GLabel allowAddLabel = new GLabel("Allow Additional:");
		allowAddLabel.getAccessibleContext().setAccessibleName("Allow Additional");
		scriptRow =
			addRow(scriptLabel, requiredUnicodeScript, scriptFailedCountLabel, allowAddLabel,
				allowAnyScriptButton, otherScriptsFailedCountLabel, allowLatinScriptButton,
				latinScriptFailedCountLabel, allowCommonScriptButton, commonScriptFailedCountLabel);

		advOptsRow1 = addRow(null, excludeStringsWithCodecErrorCB, codecErrorsCountLabel,
			excludeStringsWithNonStdCtrlCharsCB, nonStdCtrlCharsErrorsCountLabel);
		stringModelRow = addRow(null, requireValidStringCB, stringModelFailedCountLabel,
			stringModelFilenameComboBox);
		if (ssm) {
			advOptsRow2 = addRow(null, alignStartOfStringCB, breakOnRefCB);
		}
		else {
			GLabel minLenLabel = new GLabel("Min Length:", SwingConstants.RIGHT);
			minLenLabel.setToolTipText(minStringLengthSpinner.getSpinner().getToolTipText());
			minLenLabel.getAccessibleContext().setAccessibleName("Minimum Length");
			advOptsRow2 = addRow(null, minLenLabel, minStringLengthSpinner.getSpinner(),
				minLenFailedCountLabel, alignStartOfStringCB, breakOnRefCB);
		}
		translateRow = addRow(new GLabel("Translate:", SwingConstants.RIGHT), translateComboBox);

		setRowVisibility(advOptsRow1, showAdvancedOptionsButton.isSelected());
		setRowVisibility(advOptsRow2, showAdvancedOptionsButton.isSelected());
		setRowVisibility(stringModelRow, showAdvancedOptionsButton.isSelected());
		setRowVisibility(scriptRow, showScriptOptionsButton.isSelected());
		setRowVisibility(translateRow, showTranslateOptionsButton.isSelected());

		buildPreviewTableComponents();

		JPanel previewTablePanel = new JPanel(new BorderLayout());
		previewTablePanel.add(threadedTablePanel, BorderLayout.CENTER);
		previewTablePanel.add(filterPanel, BorderLayout.SOUTH);
		previewTablePanel.getAccessibleContext().setAccessibleName("Preview Table");

		JPanel panel = new JPanel(new BorderLayout());
		panel.add(optionsPanel, BorderLayout.NORTH);
		panel.add(previewTablePanel, BorderLayout.CENTER);
		panel.getAccessibleContext().setAccessibleName("Encoded Strings");
		return panel;
	}
For test/screen shot use

@return button
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/strings/EncodedStringsDialog.java