protected JTabbedPane createTestRunViews() { JTabbedPane pane = new JTabbedPane(); FailureRunView lv = new FailureRunView(this); fTestRunViews.addElement(lv); lv.addTab(pane); TestHierarchyRunView tv = new TestHierarchyRunView(this); fTestRunViews.addElement(tv); tv.addTab(pane); pane.addChangeListener( new ChangeListener() { public void stateChanged(ChangeEvent e) { testViewChanged(); } }); return pane; }
// The init method public void init() { // Set the look and feel try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch (Exception e) { return; } // Create the menuListener MenuListener menuListener = new MenuListener(); // Create the menu bar JMenuBar menuBar = new JMenuBar(); setJMenuBar(menuBar); // Create the file menu JMenu fileMenu = new JMenu("File"); menuBar.add(fileMenu); // Create the menuitems JMenuItem menuItem; menuItem = new JMenuItem("Read Particle Location Data"); fileMenu.add(menuItem); menuItem.addActionListener(menuListener); menuItem = new JMenuItem("Save Uintah Input File"); fileMenu.add(menuItem); menuItem.addActionListener(menuListener); menuItem = new JMenuItem("Exit"); fileMenu.add(menuItem); menuItem.addActionListener(menuListener); // Create the main tabbed pane mainTabbedPane = new JTabbedPane(); // Create the panels to be added to the tabbed pane uintahInputPanel = new UintahInputPanel(d_partList, this); particleGenPanel = new ParticleGeneratePanel(d_partList, this); // Add the tabs mainTabbedPane.addTab("Uintah Inputs", null, uintahInputPanel, null); mainTabbedPane.addTab("Generate Particle Locations", null, particleGenPanel, null); mainTabbedPane.setSelectedIndex(0); getContentPane().add(mainTabbedPane); // Create the help menu JMenu helpMenu = new JMenu("Help"); menuBar.add(helpMenu); // Create the menuitems menuItem = new JMenuItem("About"); helpMenu.add(menuItem); menuItem.addActionListener(menuListener); // Create the invisible help frames helpAboutFrame = new HelpAboutFrame(); helpAboutFrame.pack(); // Create the Tab Listener TabListener tabListener = new TabListener(); mainTabbedPane.addChangeListener(tabListener); }
public QSAdminGUI(QSAdminMain qsadminMain, JFrame parentFrame) { this.parentFrame = parentFrame; Container cp = this; qsadminMain.setGUI(this); cp.setLayout(new BorderLayout(5, 5)); headerPanel = new HeaderPanel(qsadminMain, parentFrame); mainCommandPanel = new MainCommandPanel(qsadminMain); cmdConsole = new CmdConsole(qsadminMain); propertiePanel = new PropertiePanel(qsadminMain); if (headerPanel == null || mainCommandPanel == null || cmdConsole == null || propertiePanel == null) { throw new RuntimeException("Loading of one of gui component failed."); } headerPanel.setBorder(BorderFactory.createEmptyBorder(0, 5, 0, 5)); cp.add(headerPanel, BorderLayout.NORTH); JScrollPane propertieScrollPane = new JScrollPane(propertiePanel); // JScrollPane commandScrollPane = new JScrollPane(mainCommandPanel); JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, true, mainCommandPanel, cmdConsole); splitPane.setOneTouchExpandable(false); splitPane.setDividerLocation(250); // splitPane.setDividerLocation(0.70); tabbedPane = new JTabbedPane(JTabbedPane.TOP); tabbedPane.addTab("Main", ball, splitPane, "Main Commands"); tabbedPane.addTab("Get/Set", ball, propertieScrollPane, "Properties Panel"); QSAdminPluginConfig qsAdminPluginConfig = null; PluginPanel pluginPanel = null; // -- start of loadPlugins try { File xmlFile = null; ClassLoader classLoader = null; Class mainClass = null; File file = new File(pluginDir); File dirs[] = null; if (file.canRead()) dirs = file.listFiles(new DirFileList()); for (int i = 0; dirs != null && i < dirs.length; i++) { xmlFile = new File(dirs[i].getAbsolutePath() + File.separator + "plugin.xml"); if (xmlFile.canRead()) { qsAdminPluginConfig = PluginConfigReader.read(xmlFile); if (qsAdminPluginConfig.getActive().equals("yes") && qsAdminPluginConfig.getType().equals("javax.swing.JPanel")) { classLoader = ClassUtil.getClassLoaderFromJars(dirs[i].getAbsolutePath()); mainClass = classLoader.loadClass(qsAdminPluginConfig.getMainClass()); logger.fine("Got PluginMainClass " + mainClass); pluginPanel = (PluginPanel) mainClass.newInstance(); if (JPanel.class.isInstance(pluginPanel) == true) { logger.info("Loading plugin : " + qsAdminPluginConfig.getName()); pluginPanelMap.put("" + (2 + i), pluginPanel); plugins.add(pluginPanel); tabbedPane.addTab( qsAdminPluginConfig.getName(), ball, (JPanel) pluginPanel, qsAdminPluginConfig.getDesc()); pluginPanel.setQSAdminMain(qsadminMain); pluginPanel.init(); } } else { logger.info( "Plugin " + dirs[i] + " is disabled so skipping " + qsAdminPluginConfig.getActive() + ":" + qsAdminPluginConfig.getType()); } } else { logger.info("No plugin configuration found in " + xmlFile + " so skipping"); } } } catch (Exception e) { logger.warning("Error loading plugin : " + e); logger.fine("StackTrace:\n" + MyString.getStackTrace(e)); } // -- end of loadPlugins tabbedPane.addChangeListener( new ChangeListener() { int selected = -1; int oldSelected = -1; public void stateChanged(ChangeEvent e) { // if plugin selected = tabbedPane.getSelectedIndex(); if (selected >= 2) { ((PluginPanel) pluginPanelMap.get("" + selected)).activated(); } if (oldSelected >= 2) { ((PluginPanel) pluginPanelMap.get("" + oldSelected)).deactivated(); } oldSelected = selected; } }); // tabbedPane.setBorder(BorderFactory.createEmptyBorder(0,5,5,5)); cp.add(tabbedPane, BorderLayout.CENTER); buildMenu(); }