protected JPanel buildMainPanel() {
		GridBagLayout gbl = new GridBagLayout();
		JPanel outerPanel = new JPanel(gbl);
		outerPanel.getAccessibleContext().setAccessibleName("Archive");
		archiveLabel = new GDLabel(" Archive File ");
		archiveField = new JTextField();
		archiveField.setName("archiveField");
		archiveField.getAccessibleContext().setAccessibleName("Archive Field");
		archiveField.setColumns(NUM_TEXT_COLUMNS);
		archiveBrowse = new JButton(ArchivePlugin.DOT_DOT_DOT);
		archiveBrowse.addActionListener(e -> {
			archivePathName = archiveField.getText().trim();
			String archName = chooseArchiveFile("Choose archive file", "Selects the archive file");
			if (archName != null) {
				// Make sure the archive has the correct suffix.
				if (!archName.endsWith(ArchivePlugin.ARCHIVE_EXTENSION)) {
					archName += ArchivePlugin.ARCHIVE_EXTENSION;
				}
				archivePathName = archName;
				archiveField.setText(archivePathName);
			}
		});

		Gui.registerFont(archiveBrowse, Font.BOLD);
		archiveBrowse.setName("archiveBrowse");
		archiveBrowse.getAccessibleContext().setAccessibleName("Browse Archive");

		// Layout the components.
		GridBagConstraints gbc = new GridBagConstraints();
		gbc.insets.top = 5;
		gbc.insets.left = 5;
		gbc.insets.right = 5;

		// add the labels
		//
		gbc.anchor = GridBagConstraints.EAST;
		gbc.gridx = 0;
		gbc.gridy = 0;
		gbl.setConstraints(archiveLabel, gbc);
		outerPanel.add(archiveLabel);

		// add the textFields
		//
		gbc.anchor = GridBagConstraints.CENTER;
		gbc.insets.left = 0;
		gbc.insets.right = 0;
		gbc.weightx = 1.0;
		gbc.gridwidth = 1;
		gbc.fill = GridBagConstraints.HORIZONTAL;
		gbc.gridx = 1;
		gbc.gridy = 0;
		gbl.setConstraints(archiveField, gbc);
		outerPanel.add(archiveField);
		gbc.gridy = 1;

		gbc.weightx = 0.0;

		// add the browse buttons
		//
		gbc.anchor = GridBagConstraints.WEST;
		gbc.gridwidth = 1;
		gbc.insets.left = 5;
		gbc.insets.right = 5;
		gbc.gridx = 2;
		gbc.gridy = 0;
		gbl.setConstraints(archiveBrowse, gbc);
		outerPanel.add(archiveBrowse);

		return outerPanel;
	}
Define the Main panel for the dialog here.
@return JPanel the completed <CODE>Main Panel</CODE>
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/archive/ArchiveDialog.java