private void setupPacking() {

		packingPanel = new JPanel(new VerticalLayout(0));

		packingEnablementButton = new JCheckBox("pack");
		packingEnablementButton.setEnabled(true);
		packingEnablementButton.setFont(UIManager.getFont("TitledBorder.font"));
		packingEnablementButton.setForeground(UIManager.getColor("TitledBorder.titleColor"));
		packingPanel.add(packingEnablementButton);

		JPanel innerPanel = new JPanel(new GridBagLayout());
		Border titledBorder = UIManager.getBorder("TitledBorder.border");
		innerPanel.setBorder(titledBorder);
		packingPanel.add(innerPanel);

		// Since we set the border manually, it does not get updated when switching LaFs.  Add a 
		// theme listener to update the border ourselves.
		Gui.addThemeListener(e -> {
			if (e.isLookAndFeelChanged()) {
				Border updatedTitledBorder = UIManager.getBorder("TitledBorder.border");
				innerPanel.setBorder(updatedTitledBorder);
			}
		});

		setupDefaultPackingButton();
		setupExplicitPackingButtonAndTextField();
		setupPackingEnablementButton();

		ButtonGroup packingGroup = new ButtonGroup();
		packingGroup.add(defaultPackingButton);
		packingGroup.add(explicitPackingButton);

		provider.registerHelp(packingPanel, "Pack");

		addPackingComponents(innerPanel);

		GridBagConstraints gridBagConstraints = new GridBagConstraints();
		gridBagConstraints.anchor = GridBagConstraints.NORTHWEST;
		gridBagConstraints.fill = GridBagConstraints.NONE;
		gridBagConstraints.weightx = 0;
		gridBagConstraints.gridx = 7;
		gridBagConstraints.gridy = 0;
		gridBagConstraints.gridheight = 4;
		infoPanel.add(packingPanel, gridBagConstraints);

		refreshGUIPackingValue();
	}
Create the Info Panel that is horizontally resizable. The panel contains
the name, category, data type, size, and edit mode for the current
structure in the editor.

@return JPanel the completed composite data type information panel
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/compositeeditor/CompEditorPanel.java