private JPanel buildBrowsePanel() {

		// We override the various sizes to make sure the button does not get too big or too small,
		// which changes depending upon the theme being used.
		JPanel browsePanel = new JPanel() {

			@Override
			public Dimension getPreferredSize() {
				int width = getBestWidth();
				Dimension preferredSize = super.getPreferredSize();
				preferredSize.width = Math.min(width, preferredSize.width);
				return preferredSize;
			}

			@Override
			public Dimension getMinimumSize() {
				int width = getBestWidth();
				Dimension preferredSize = super.getPreferredSize();
				preferredSize.width = Math.min(width, preferredSize.width);
				return preferredSize;
			}

			@Override
			public Dimension getMaximumSize() {
				int width = getBestWidth();
				Dimension preferredSize = super.getPreferredSize();
				preferredSize.width = Math.min(width, preferredSize.width);
				return preferredSize;
			}

			private int getBestWidth() {
				Font f = getFont();
				FontMetrics fm = getFontMetrics(f);
				int width = fm.stringWidth(" . . . ");
				return width;
			}
		};

		browsePanel.setLayout(new BorderLayout());
		browsePanel.setOpaque(false);

		// Space the button so that it pops out visually.  This was chosen by trial-and-error and 
		// looks reasonable on all themes.  
		Border empty = BorderFactory.createEmptyBorder(2, 2, 1, 1);
		browsePanel.setBorder(empty);

		browseButton = new BrowseButton();
		browseButton.setToolTipText("Browse the Data Manager");
		browseButton.addActionListener(e -> showDataTypeBrowser());

		browsePanel.add(browseButton);

		return browsePanel;
	}
Sets whether this editor should consumer Enter key presses
@see DropDownSelectionTextField#setConsumeEnterKeyPress(boolean)

@param consume true to consume
Ghidra/Features/Base/src/main/java/ghidra/app/util/datatype/DataTypeSelectionEditor.java