private void buildPanels() {

		// build the status panel since some of the other panels update status
		// when there is an active project at start up
		statusPanel = new LogPanel(this);
		statusPanel.setHelpLocation(new HelpLocation("FrontEndPlugin", "StatusWindow"));

		dataTreePanel = new ProjectDataTreePanel(this);
		dataTablePanel = new ProjectDataTablePanel(this);

		dataTreePanel.setHelpLocation(new HelpLocation(getName(), "ProjectDataTree"));
		dataTablePanel.setHelpLocation(new HelpLocation(getName(), "ProjectDataTable"));
		workspacePanel = new WorkspacePanel(this);

		projectDataPanel = new ProjectDataPanel(this, dataTreePanel, dataTablePanel, projectName);

		JPanel connectionPanel = new JPanel();
		connectionPanel.setLayout(new BorderLayout());
		repositoryLabel = new GDLabel();
		repositoryLabel.setBorder(BorderFactory.createEmptyBorder(0, 10, 0, 0));
		connectionIconPanel = new JPanel();
		connectionLabel = new GLabel();
		connectionIconPanel.add(connectionLabel);
		connectionPanel.add(repositoryLabel, BorderLayout.CENTER);
		connectionPanel.add(connectionIconPanel, BorderLayout.EAST);

		// construct the main panel to contain the toolbar and
		// data tree panels (active and read-only views)
		JPanel mainPanel = new JPanel(new BorderLayout());
		mainPanel.add(toolBar, BorderLayout.NORTH);
		mainPanel.add(projectDataPanel, BorderLayout.CENTER);

		JPanel bottomPane = new JPanel();
		bottomPane.setLayout(new BoxLayout(bottomPane, BoxLayout.Y_AXIS));
		bottomPane.add(workspacePanel);
		bottomPane.add(Box.createVerticalGlue());
		bottomPane.add(Box.createVerticalStrut(2));

		bottomPane.add(connectionPanel);
		bottomPane.add(statusPanel);
		bottomPane.add(Box.createVerticalGlue());

		mainGuiPanel = new JPanel(new BorderLayout(5, 5));
		mainGuiPanel.add(mainPanel, BorderLayout.CENTER);
		mainGuiPanel.add(bottomPane, BorderLayout.SOUTH);
	}
builds the gui for the new front end
Ghidra/Framework/Project/src/main/java/ghidra/framework/main/FrontEndPlugin.java