private JComponent buildStringOptions() {
		JPanel panel = new JPanel(new VerticalLayout(3));
		Charset[] supportedCharsets =
			{ StandardCharsets.US_ASCII, StandardCharsets.UTF_8, StandardCharsets.UTF_16 };

		charsetCombo = new GComboBox<>(supportedCharsets);
		charsetCombo.setName("Encoding Options");
		charsetCombo.setSelectedIndex(0);
		charsetCombo.addItemListener(this::encodingComboChanged);
		charsetCombo.setToolTipText("Character encoding for translating strings to bytes");

		JPanel innerPanel = new JPanel(new PairLayout(5, 5));
		JLabel label = new JLabel("Encoding:");
		label.setToolTipText("Character encoding for translating strings to bytes");
		innerPanel.add(label);
		innerPanel.add(charsetCombo);
		panel.add(innerPanel);

		caseSensitiveCheckbox = new GCheckBox("Case Sensitive");
		caseSensitiveCheckbox.setSelected(model.isCaseSensitive());
		caseSensitiveCheckbox.setToolTipText("Allows for case sensitive searching.");
		caseSensitiveCheckbox.addActionListener(
			e -> model.setCaseSensitive(caseSensitiveCheckbox.isSelected()));

		escapeSequencesCheckbox = new GCheckBox("Escape Sequences");
		escapeSequencesCheckbox.setSelected(model.useEscapeSequences());
		escapeSequencesCheckbox.setToolTipText(
			"Allows specifying control characters using escape sequences " +
				"(i.e., allows \\n to be searched for as a single line feed character).");
		escapeSequencesCheckbox.addActionListener(
			e -> model.setUseEscapeSequences(escapeSequencesCheckbox.isSelected()));

		panel.setBorder(createBorder("String Options"));
		panel.add(caseSensitiveCheckbox);
		panel.add(escapeSequencesCheckbox);
		return panel;
	}
Internal panel of the memory search window that manages the controls for the search settings.
This panel can be added or removed via a toolbar action. Not showing by default.
Ghidra/Features/Base/src/main/java/ghidra/features/base/memsearch/gui/MemorySearchOptionsPanel.java