@Override
	protected void buildChooser() {

		GridBagLayout gb = new GridBagLayout();
		GridBagConstraints gbc = new GridBagConstraints();
		JPanel superHolder = new JPanel(gb);

		swatchPanel = new MainSwatchPanel();
		swatchPanel.getAccessibleContext().setAccessibleName(getDisplayName());

		recentSwatchPanel = new RecentSwatchPanel();
		recentSwatchPanel.getAccessibleContext().setAccessibleName(recentText);

		mainSwatchListener = new MainSwatchListener();
		swatchPanel.addMouseListener(mainSwatchListener);
		recentSwatchListener = new RecentSwatchListener();
		recentSwatchPanel.addMouseListener(recentSwatchListener);

		LineBorder border = new LineBorder(Colors.BORDER);
		swatchPanel.setBorder(border);
		gbc.gridx = 0;
		gbc.gridy = 0;
		gbc.weightx = 1.0;
		gbc.gridwidth = 2;
		gbc.gridheight = 2;
		gbc.weighty = 1.0;
		gbc.anchor = GridBagConstraints.PAGE_START;
		superHolder.add(swatchPanel, gbc);

		recentSwatchPanel.setBorder(border);

		JLabel recentLabel = new GLabel(recentText);
		recentLabel.setLabelFor(recentSwatchPanel);

		JPanel recentPanel = new JPanel(new BorderLayout());
		recentPanel.add(recentLabel, BorderLayout.NORTH);
		recentPanel.add(recentSwatchPanel, BorderLayout.CENTER);

		historySwatchPanel = new HistorySwatchPanel(historyColors);
		historySwatchPanel.addMouseListener(historySwatchListener);
		historySwatchListener = new HistorySwatchListener();
		historySwatchPanel.setBorder(border);

		JPanel historyPanel = new JPanel(new BorderLayout());
		JLabel historyLabel = new GLabel("History:");
		historyLabel.setLabelFor(historySwatchPanel);
		historyPanel.add(historyLabel, BorderLayout.NORTH);
		historyPanel.add(historySwatchPanel, BorderLayout.CENTER);

		JPanel recentAndHistoryPanel = new JPanel(new HorizontalLayout(10));
		recentAndHistoryPanel.add(recentPanel);
		recentAndHistoryPanel.add(historyPanel);

		gbc.gridx = 2;
		gbc.gridy = 0;
		gbc.weighty = 0.0;
		superHolder.add(Box.createHorizontalStrut(10));

		gbc.gridx = 3;
		gbc.gridy = 0;
		superHolder.add(recentAndHistoryPanel, gbc);

		JPanel colorValuePanel = createColorValuePanel();

		gbc.gridx = 0;
		gbc.gridy = 2;
		gbc.gridwidth = 4; // take all space on the bottom, below the swatch
		superHolder.add(colorValuePanel, gbc);

		add(superHolder);
	}
The background color, foreground color, and font are already set to the
defaults from the defaults table before this method is called.
Ghidra/Framework/Docking/src/main/java/docking/options/editor/SettableColorSwatchChooserPanel.java