package genius.gui; import java.awt.BorderLayout; import java.awt.Component; import java.awt.Dimension; import java.awt.Frame; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JScrollPane; import javax.swing.JSplitPane; import javax.swing.JTabbedPane; import genius.gui.actions.AboutAction; import genius.gui.actions.OpenManual; import genius.gui.boaframework.BOARepositoryUI; import genius.gui.domainrepository.DomainRepositoryUI; /** * #2 future main application and main GUI panel. * */ @SuppressWarnings("serial") public class MainPanel extends JFrame implements MainPanelInterface { private JTabbedPane repoArea = new JTabbedPane(); private JTabbedPane editArea = new JTabbedPane(); public MainPanel() { setLayout(new BorderLayout()); setMinimumSize(new Dimension(200, 100)); setTitle( "GENIUS " + getClass().getPackage().getImplementationVersion()); JSplitPane splitpane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, repoArea, editArea); add(splitpane, BorderLayout.CENTER); repoArea.addTab("Domains", new JScrollPane(new DomainRepositoryUI(this))); repoArea.addTab("BOA Components", new JScrollPane(new BOARepositoryUI())); setJMenuBar(new MenuBar()); } public static void main(String[] args) { MainPanel mainpanel = new MainPanel(); mainpanel.pack(); mainpanel.setVisible(true); } @Override public void addTab(String title, Component comp) { editArea.addTab(title, comp); } @Override public Frame getMainFrame() { return this; } } class MenuBar extends JMenuBar { private JMenu startMenu = new JMenu(); private JMenu helpMenu = new JMenu(); public MenuBar() { startMenu.setText("Start"); startMenu.setName("startMenu"); add(startMenu); helpMenu.setText("Help"); helpMenu.setName("startMenu"); helpMenu.add(new OpenManual()); helpMenu.add(new AboutAction()); add(helpMenu); } }