List of usage examples for javax.swing JToolBar add
public JButton add(Action a)
JButton
which dispatches the action. From source file:org.aaloa.zb4osgi.network.browser.ui.NetworkGraph.java
private void addButton(final JToolBar bar, final String name, final ActionListener listener) { JButton btn = new JButton(name); btn.addActionListener(listener);//from www .j a v a 2 s. c om bar.add(btn); }
From source file:org.apache.cayenne.modeler.CayenneModelerFrame.java
/** Initializes main toolbar. */ protected void initToolbar() { JToolBar toolBar = new JToolBar(); toolBar.add(getAction(NewProjectAction.class).buildButton()); toolBar.add(getAction(OpenProjectAction.class).buildButton()); toolBar.add(getAction(SaveAction.class).buildButton()); toolBar.addSeparator();//from ww w . j ava 2s. co m toolBar.add(getAction(RemoveAction.class).buildButton()); toolBar.addSeparator(); toolBar.add(getAction(CutAction.class).buildButton()); toolBar.add(getAction(CopyAction.class).buildButton()); toolBar.add(getAction(PasteAction.class).buildButton()); toolBar.addSeparator(); toolBar.add(getAction(UndoAction.class).buildButton()); toolBar.add(getAction(RedoAction.class).buildButton()); toolBar.addSeparator(); toolBar.add(getAction(CreateNodeAction.class).buildButton()); toolBar.add(getAction(CreateDataMapAction.class).buildButton()); toolBar.addSeparator(); toolBar.add(getAction(CreateDbEntityAction.class).buildButton()); toolBar.add(getAction(CreateProcedureAction.class).buildButton()); toolBar.addSeparator(); toolBar.add(getAction(CreateObjEntityAction.class).buildButton()); toolBar.add(getAction(CreateEmbeddableAction.class).buildButton()); toolBar.add(getAction(CreateQueryAction.class).buildButton()); toolBar.addSeparator(); toolBar.add(getAction(NavigateBackwardAction.class).buildButton()); toolBar.add(getAction(NavigateForwardAction.class).buildButton()); JPanel east = new JPanel(new BorderLayout()); // is used to place search feature // components the most right on a // toolbar final JTextField findField = new JTextField(10); findField.addKeyListener(new KeyListener() { public void keyPressed(KeyEvent e) { if (e.getKeyCode() != KeyEvent.VK_ENTER) { findField.setBackground(Color.white); } } public void keyReleased(KeyEvent e) { } public void keyTyped(KeyEvent e) { } }); findField.setAction(getAction(FindAction.class)); JLabel findLabel = new JLabel("Search:"); findLabel.setLabelFor(findField); Toolkit.getDefaultToolkit().addAWTEventListener(new AWTEventListener() { public void eventDispatched(AWTEvent event) { if (event instanceof KeyEvent) { if (((KeyEvent) event).getModifiers() == Toolkit.getDefaultToolkit().getMenuShortcutKeyMask() && ((KeyEvent) event).getKeyCode() == KeyEvent.VK_F) { findField.requestFocus(); } } } }, AWTEvent.KEY_EVENT_MASK); JPanel box = new JPanel(); // is used to place label and text field one after // another box.setLayout(new BoxLayout(box, BoxLayout.X_AXIS)); box.add(findLabel); box.add(findField); east.add(box, BorderLayout.EAST); toolBar.add(east); getContentPane().add(toolBar, BorderLayout.NORTH); }
From source file:org.apache.cayenne.modeler.editor.dbentity.DbEntityAttributeRelationshipTab.java
private void initToolBar() { JToolBar toolBar = new JToolBar(); ActionManager actionManager = Application.getInstance().getActionManager(); toolBar.add(actionManager.getAction(CreateObjEntityAction.class).buildButton()); toolBar.add(actionManager.getAction(CreateAttributeAction.class).buildButton()); toolBar.add(actionManager.getAction(CreateRelationshipAction.class).buildButton()); toolBar.add(actionManager.getAction(DbEntitySyncAction.class).buildButton()); toolBar.add(actionManager.getAction(DbEntityCounterpartAction.class).buildButton()); toolBar.addSeparator();/*w w w . j a v a2s. co m*/ Icon ico = ModelerUtil.buildIcon("icon-info.gif"); resolve.setToolTipText("Database Mapping"); resolve.setIcon(ico); toolBar.add(resolve).setEnabled(false); cut = actionManager.getAction(CutAttributeRelationshipAction.class); remove = actionManager.getAction(RemoveAttributeRelationshipAction.class); copy = actionManager.getAction(CopyAttributeRelationshipAction.class); toolBar.addSeparator(); toolBar.add(remove.buildButton()); toolBar.addSeparator(); toolBar.add(cut.buildButton()); toolBar.add(copy.buildButton()); toolBar.add(actionManager.getAction(PasteAction.class).buildButton()); add(toolBar, BorderLayout.NORTH); }
From source file:org.apache.cayenne.modeler.editor.EditorView.java
private void initView() { // init widgets JButton collapseButton = getAction(CollapseTreeAction.class).buildButton(); collapseButton.setPreferredSize(new Dimension(30, 20)); JButton filterButton = getAction(FilterAction.class).buildButton(); filterButton.setPreferredSize(new Dimension(30, 20)); actionManager.getAction(CollapseTreeAction.class).setAlwaysOn(true); actionManager.getAction(FilterAction.class).setAlwaysOn(true); JToolBar barPanel = new JToolBar(); barPanel.setMinimumSize(new Dimension(75, 25)); barPanel.setBorder(BorderFactory.createEtchedBorder()); barPanel.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT); barPanel.add(Box.createHorizontalStrut(3)); barPanel.add(filterButton);/*from www.j a v a2 s .c o m*/ barPanel.addSeparator(); barPanel.add(collapseButton); treePanel = new ProjectTreeView(eventController); treePanel.setMinimumSize(new Dimension(75, 180)); JPanel treeNavigatePanel = new JPanel(); treeNavigatePanel.setMinimumSize(new Dimension(75, 220)); treeNavigatePanel.setLayout(new BorderLayout()); treeNavigatePanel.add(treePanel, BorderLayout.CENTER); this.detailPanel = new JPanel(); this.splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, true); this.leftPanel = new JPanel(new BorderLayout()); // assemble... this.detailLayout = new CardLayout(); detailPanel.setLayout(detailLayout); // some but not all panels must be wrapped in a scroll pane // those that are not wrapped usually have there own scrollers // in subpanels... detailPanel.add(new JPanel(), EMPTY_VIEW); dataDomainView = new DataDomainTabbedView(eventController); detailPanel.add(dataDomainView, DOMAIN_VIEW); DataNodeEditor nodeController = new DataNodeEditor(eventController); detailPanel.add(nodeController.getView(), NODE_VIEW); dataNodeView = nodeController.getTabComponent(); dataMapView = new DataMapTabbedView(eventController); detailPanel.add(dataMapView, DATA_MAP_VIEW); procedureView = new ProcedureTabbedView(eventController); detailPanel.add(procedureView, PROCEDURE_VIEW); selectQueryView = new SelectQueryTabbedView(eventController); detailPanel.add(selectQueryView, SELECT_QUERY_VIEW); sqlTemplateView = new SQLTemplateTabbedView(eventController); detailPanel.add(sqlTemplateView, SQL_TEMPLATE_VIEW); Component procedureQueryView = new ProcedureQueryView(eventController); detailPanel.add(new JScrollPane(procedureQueryView), PROCEDURE_QUERY_VIEW); ejbqlQueryView = new EjbqlTabbedView(eventController); detailPanel.add(ejbqlQueryView, EJBQL_QUERY_VIEW); embeddableView = new EmbeddableTabbedView(eventController); detailPanel.add(embeddableView, EMBEDDABLE_VIEW); objDetailView = new ObjEntityTabbedView(eventController); detailPanel.add(objDetailView, OBJ_VIEW); dbDetailView = new DbEntityTabbedView(eventController); detailPanel.add(dbDetailView, DB_VIEW); leftPanel.add(barPanel, BorderLayout.NORTH); leftPanel.add(new JScrollPane(treeNavigatePanel), BorderLayout.CENTER); splitPane.setLeftComponent(leftPanel); splitPane.setRightComponent(detailPanel); setLayout(new BorderLayout()); add(splitPane, BorderLayout.CENTER); }
From source file:org.apache.cayenne.modeler.editor.ObjEntityRelationshipTab.java
private void init() { this.setLayout(new BorderLayout()); JToolBar toolBar = new JToolBar(); ActionManager actionManager = Application.getInstance().getActionManager(); toolBar.add(actionManager.getAction(CreateRelationshipAction.class).buildButton()); toolBar.add(actionManager.getAction(ObjEntitySyncAction.class).buildButton()); toolBar.add(actionManager.getAction(ObjEntityCounterpartAction.class).buildButton()); toolBar.addSeparator();// ww w.j a v a 2 s . c om Icon ico = ModelerUtil.buildIcon("icon-info.gif"); resolve = new JButton(); resolve.setIcon(ico); resolve.setToolTipText("Edit Relationship"); toolBar.add(resolve); toolBar.addSeparator(); toolBar.add(actionManager.getAction(RemoveRelationshipAction.class).buildButton()); toolBar.addSeparator(); toolBar.add(actionManager.getAction(CutRelationshipAction.class).buildButton()); toolBar.add(actionManager.getAction(CopyRelationshipAction.class).buildButton()); toolBar.add(actionManager.getAction(PasteAction.class).buildButton()); add(toolBar, BorderLayout.NORTH); table = new CayenneTable(); table.setDefaultRenderer(String.class, new StringRenderer()); table.setDefaultRenderer(ObjEntity.class, new EntityRenderer()); tablePreferences = new TableColumnPreferences(ObjRelationshipTableModel.class, "objEntity/relationshipTable"); /** * Create and install a popup */ resolveMenu = new JMenuItem("Database Mapping", ico); JPopupMenu popup = new JPopupMenu(); popup.add(resolveMenu); popup.add(actionManager.getAction(RemoveRelationshipAction.class).buildMenu()); popup.addSeparator(); popup.add(actionManager.getAction(CutRelationshipAction.class).buildMenu()); popup.add(actionManager.getAction(CopyRelationshipAction.class).buildMenu()); popup.add(actionManager.getAction(PasteAction.class).buildMenu()); TablePopupHandler.install(table, popup); add(PanelFactory.createTablePanel(table, null), BorderLayout.CENTER); }
From source file:org.apache.cayenne.modeler.editor.ObjEntityTab.java
private void initView() { this.setLayout(new BorderLayout()); JToolBar toolBar = new JToolBar(); ActionManager actionManager = Application.getInstance().getActionManager(); toolBar.add(actionManager.getAction(ObjEntitySyncAction.class).buildButton()); toolBar.add(actionManager.getAction(CreateAttributeAction.class).buildButton()); toolBar.add(actionManager.getAction(CreateRelationshipAction.class).buildButton()); toolBar.addSeparator();//from www . j a va 2 s.c o m toolBar.add(actionManager.getAction(ShowGraphEntityAction.class).buildButton()); toolBar.add(actionManager.getAction(ObjEntityCounterpartAction.class).buildButton()); add(toolBar, BorderLayout.NORTH); // create widgets name = new TextAdapter(new JTextField()) { @Override protected void updateModel(String text) { setEntityName(text); } }; superClassName = new TextAdapter(new JTextField()) { @Override protected void updateModel(String text) { setSuperClassName(text); } }; className = new TextAdapter(new JTextField()) { @Override protected void updateModel(String text) { setClassName(text); } }; qualifier = new TextAdapter(new JTextField()) { @Override protected void updateModel(String text) { setQualifier(text); } }; dbEntityCombo = Application.getWidgetFactory().createComboBox(); superEntityCombo = Application.getWidgetFactory().createComboBox(); AutoCompletion.enable(dbEntityCombo); AutoCompletion.enable(superEntityCombo); readOnly = new JCheckBox(); optimisticLocking = new JCheckBox(); excludeSuperclassListeners = new JCheckBox(); excludeDefaultListeners = new JCheckBox(); // borderless clickable button used as a label tableLabel = new JButton("Table/View:"); tableLabel.setBorderPainted(false); tableLabel.setHorizontalAlignment(SwingConstants.LEFT); tableLabel.setFocusPainted(false); tableLabel.setMargin(new Insets(0, 0, 0, 0)); tableLabel.setBorder(null); isAbstract = new JCheckBox(); serverOnly = new JCheckBox(); clientClassName = new TextAdapter(new JTextField()) { @Override protected void updateModel(String text) { setClientClassName(text); } }; clientSuperClassName = new TextAdapter(new JTextField()) { @Override protected void updateModel(String text) { setClientSuperClassName(text); } }; // assemble FormLayout layout = new FormLayout("right:pref, 3dlu, fill:200dlu", ""); DefaultFormBuilder builder = new DefaultFormBuilder(layout); builder.setDefaultDialogBorder(); builder.appendSeparator("ObjEntity Configuration"); builder.append("ObjEntity Name:", name.getComponent()); builder.append("Inheritance:", superEntityCombo); builder.append(tableLabel, dbEntityCombo); isAbstractLabel = builder.append("Abstract class:", isAbstract); builder.appendSeparator(); builder.append("Java Class:", className.getComponent()); superclassLabel = builder.append("Superclass:", superClassName.getComponent()); builder.append("Qualifier:", qualifier.getComponent()); builder.append("Read-Only:", readOnly); builder.append("Optimistic Locking:", optimisticLocking); // add callback-related stuff builder.append("Exclude superclass listeners:", excludeSuperclassListeners); builder.append("Exclude default listeners:", excludeDefaultListeners); clientSeparator = builder.appendSeparator("Java Client"); serverOnlyLabel = builder.append("Not for Client Use:", serverOnly); clientClassNameLabel = builder.append("Client Java Class:", clientClassName.getComponent()); clientSuperClassNameLabel = builder.append("Client Superclass:", clientSuperClassName.getComponent()); add(builder.getPanel(), BorderLayout.CENTER); }
From source file:org.apache.log4j.chainsaw.LogUI.java
/** * Initialises the Help system and the WelcomePanel * *///from w w w . j av a 2 s . co m private void setupHelpSystem() { welcomePanel = new WelcomePanel(); JToolBar tb = welcomePanel.getToolbar(); tb.add(new SmallButton(new AbstractAction("Tutorial", new ImageIcon(ChainsawIcons.HELP)) { public void actionPerformed(ActionEvent e) { setupTutorial(); } })); tb.addSeparator(); final Action exampleConfigAction = new AbstractAction("View example Receiver configuration") { public void actionPerformed(ActionEvent e) { HelpManager.getInstance().setHelpURL(ChainsawConstants.EXAMPLE_CONFIG_URL); } }; exampleConfigAction.putValue(Action.SHORT_DESCRIPTION, "Displays an example Log4j configuration file with several Receivers defined."); JButton exampleButton = new SmallButton(exampleConfigAction); tb.add(exampleButton); tb.add(Box.createHorizontalGlue()); /** * Setup a listener on the HelpURL property and automatically change the WelcomePages URL * to it. */ HelpManager.getInstance().addPropertyChangeListener("helpURL", new PropertyChangeListener() { public void propertyChange(PropertyChangeEvent evt) { URL newURL = (URL) evt.getNewValue(); if (newURL != null) { welcomePanel.setURL(newURL); ensureWelcomePanelVisible(); } } }); }
From source file:org.apache.log4j.chainsaw.LogUI.java
/** * Activates itself as a viewer by configuring Size, and location of itself, * and configures the default Tabbed Pane elements with the correct layout, * table columns, and sets itself viewable. *//*from w w w . j a v a 2 s.c o m*/ public void activateViewer() { LoggerRepository repo = LogManager.getLoggerRepository(); if (repo instanceof LoggerRepositoryEx) { this.pluginRegistry = ((LoggerRepositoryEx) repo).getPluginRegistry(); } initGUI(); initPrefModelListeners(); /** * We add a simple appender to the MessageCenter logger * so that each message is displayed in the Status bar */ MessageCenter.getInstance().getLogger().addAppender(new AppenderSkeleton() { protected void append(LoggingEvent event) { getStatusBar().setMessage(event.getMessage().toString()); } public void close() { } public boolean requiresLayout() { return false; } }); initSocketConnectionListener(); if (pluginRegistry.getPlugins(Receiver.class).size() == 0) { noReceiversDefined = true; } getFilterableColumns().add(ChainsawConstants.LEVEL_COL_NAME); getFilterableColumns().add(ChainsawConstants.LOGGER_COL_NAME); getFilterableColumns().add(ChainsawConstants.THREAD_COL_NAME); getFilterableColumns().add(ChainsawConstants.NDC_COL_NAME); getFilterableColumns().add(ChainsawConstants.PROPERTIES_COL_NAME); getFilterableColumns().add(ChainsawConstants.CLASS_COL_NAME); getFilterableColumns().add(ChainsawConstants.METHOD_COL_NAME); getFilterableColumns().add(ChainsawConstants.FILE_COL_NAME); getFilterableColumns().add(ChainsawConstants.NONE_COL_NAME); JPanel panePanel = new JPanel(); panePanel.setLayout(new BorderLayout(2, 2)); getContentPane().setLayout(new BorderLayout()); getTabbedPane().addChangeListener(getToolBarAndMenus()); getTabbedPane().addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent e) { LogPanel thisLogPanel = getCurrentLogPanel(); if (thisLogPanel != null) { thisLogPanel.updateStatusBar(); } } }); KeyStroke ksRight = KeyStroke.getKeyStroke(KeyEvent.VK_RIGHT, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()); KeyStroke ksLeft = KeyStroke.getKeyStroke(KeyEvent.VK_LEFT, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()); KeyStroke ksGotoLine = KeyStroke.getKeyStroke(KeyEvent.VK_G, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()); getTabbedPane().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(ksRight, "MoveRight"); getTabbedPane().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(ksLeft, "MoveLeft"); getTabbedPane().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(ksGotoLine, "GotoLine"); Action moveRight = new AbstractAction() { public void actionPerformed(ActionEvent e) { int temp = getTabbedPane().getSelectedIndex(); ++temp; if (temp != getTabbedPane().getTabCount()) { getTabbedPane().setSelectedTab(temp); } } }; Action moveLeft = new AbstractAction() { public void actionPerformed(ActionEvent e) { int temp = getTabbedPane().getSelectedIndex(); --temp; if (temp > -1) { getTabbedPane().setSelectedTab(temp); } } }; Action gotoLine = new AbstractAction() { public void actionPerformed(ActionEvent e) { String inputLine = JOptionPane.showInputDialog(LogUI.this, "Enter the line number to go:", "Goto Line", -1); try { int lineNumber = Integer.parseInt(inputLine); int row = getCurrentLogPanel().setSelectedEvent(lineNumber); if (row == -1) { JOptionPane.showMessageDialog(LogUI.this, "You have entered an invalid line number", "Error", 0); } } catch (NumberFormatException nfe) { JOptionPane.showMessageDialog(LogUI.this, "You have entered an invalid line number", "Error", 0); } } }; getTabbedPane().getActionMap().put("MoveRight", moveRight); getTabbedPane().getActionMap().put("MoveLeft", moveLeft); getTabbedPane().getActionMap().put("GotoLine", gotoLine); /** * We listen for double clicks, and auto-undock currently selected Tab if * the mouse event location matches the currently selected tab */ getTabbedPane().addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent e) { super.mouseClicked(e); if ((e.getClickCount() > 1) && ((e.getModifiers() & InputEvent.BUTTON1_MASK) > 0)) { int tabIndex = getTabbedPane().getSelectedIndex(); if ((tabIndex != -1) && (tabIndex == getTabbedPane().getSelectedIndex())) { LogPanel logPanel = getCurrentLogPanel(); if (logPanel != null) { logPanel.undock(); } } } } }); panePanel.add(getTabbedPane()); addWelcomePanel(); getContentPane().add(toolbar, BorderLayout.NORTH); getContentPane().add(statusBar, BorderLayout.SOUTH); mainReceiverSplitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, panePanel, receiversPanel); dividerSize = mainReceiverSplitPane.getDividerSize(); mainReceiverSplitPane.setDividerLocation(-1); getContentPane().add(mainReceiverSplitPane, BorderLayout.CENTER); /** * We need to make sure that all the internal GUI components have been added to the * JFrame so that any plugns that get activated during initPlugins(...) method * have access to inject menus */ initPlugins(pluginRegistry); mainReceiverSplitPane.setResizeWeight(1.0); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent event) { exit(); } }); preferencesFrame.setTitle("'Application-wide Preferences"); preferencesFrame.setIconImage(((ImageIcon) ChainsawIcons.ICON_PREFERENCES).getImage()); preferencesFrame.getContentPane().add(applicationPreferenceModelPanel); preferencesFrame.setSize(750, 520); Dimension screenDimension = Toolkit.getDefaultToolkit().getScreenSize(); preferencesFrame.setLocation(new Point((screenDimension.width / 2) - (preferencesFrame.getSize().width / 2), (screenDimension.height / 2) - (preferencesFrame.getSize().height / 2))); pack(); final JPopupMenu tabPopup = new JPopupMenu(); final Action hideCurrentTabAction = new AbstractAction("Hide") { public void actionPerformed(ActionEvent e) { Component selectedComp = getTabbedPane().getSelectedComponent(); if (selectedComp instanceof LogPanel) { displayPanel(getCurrentLogPanel().getIdentifier(), false); tbms.stateChange(); } else { getTabbedPane().remove(selectedComp); } } }; final Action hideOtherTabsAction = new AbstractAction("Hide Others") { public void actionPerformed(ActionEvent e) { Component selectedComp = getTabbedPane().getSelectedComponent(); String currentName; if (selectedComp instanceof LogPanel) { currentName = getCurrentLogPanel().getIdentifier(); } else if (selectedComp instanceof WelcomePanel) { currentName = ChainsawTabbedPane.WELCOME_TAB; } else { currentName = ChainsawTabbedPane.ZEROCONF; } int count = getTabbedPane().getTabCount(); int index = 0; for (int i = 0; i < count; i++) { String name = getTabbedPane().getTitleAt(index); if (getPanelMap().keySet().contains(name) && !name.equals(currentName)) { displayPanel(name, false); tbms.stateChange(); } else { index++; } } } }; Action showHiddenTabsAction = new AbstractAction("Show All Hidden") { public void actionPerformed(ActionEvent e) { for (Iterator iter = getPanels().entrySet().iterator(); iter.hasNext();) { Map.Entry entry = (Map.Entry) iter.next(); Boolean docked = (Boolean) entry.getValue(); if (docked.booleanValue()) { String identifier = (String) entry.getKey(); int count = getTabbedPane().getTabCount(); boolean found = false; for (int i = 0; i < count; i++) { String name = getTabbedPane().getTitleAt(i); if (name.equals(identifier)) { found = true; break; } } if (!found) { displayPanel(identifier, true); tbms.stateChange(); } } } } }; tabPopup.add(hideCurrentTabAction); tabPopup.add(hideOtherTabsAction); tabPopup.addSeparator(); tabPopup.add(showHiddenTabsAction); final PopupListener tabPopupListener = new PopupListener(tabPopup); getTabbedPane().addMouseListener(tabPopupListener); this.handler.addPropertyChangeListener("dataRate", new PropertyChangeListener() { public void propertyChange(PropertyChangeEvent evt) { double dataRate = ((Double) evt.getNewValue()).doubleValue(); statusBar.setDataRate(dataRate); } }); getSettingsManager().addSettingsListener(this); getSettingsManager().addSettingsListener(MRUFileListPreferenceSaver.getInstance()); getSettingsManager().addSettingsListener(receiversPanel); try { //if an uncaught exception is thrown, allow the UI to continue to load getSettingsManager().loadSettings(); } catch (Exception e) { e.printStackTrace(); } //app preferences have already been loaded (and configuration url possibly set to blank if being overridden) //but we need a listener so the settings will be saved on exit (added after loadsettings was called) getSettingsManager().addSettingsListener(new ApplicationPreferenceModelSaver(applicationPreferenceModel)); setVisible(true); if (applicationPreferenceModel.isReceivers()) { showReceiverPanel(); } else { hideReceiverPanel(); } removeSplash(); synchronized (initializationLock) { isGUIFullyInitialized = true; initializationLock.notifyAll(); } if (noReceiversDefined && applicationPreferenceModel.isShowNoReceiverWarning()) { SwingHelper.invokeOnEDT(new Runnable() { public void run() { showReceiverConfigurationPanel(); } }); } Container container = tutorialFrame.getContentPane(); final JEditorPane tutorialArea = new JEditorPane(); tutorialArea.setBorder(BorderFactory.createEmptyBorder(0, 5, 0, 5)); tutorialArea.setEditable(false); container.setLayout(new BorderLayout()); try { tutorialArea.setPage(ChainsawConstants.TUTORIAL_URL); JTextComponentFormatter.applySystemFontAndSize(tutorialArea); container.add(new JScrollPane(tutorialArea), BorderLayout.CENTER); } catch (Exception e) { MessageCenter.getInstance().getLogger().error("Error occurred loading the Tutorial", e); } tutorialFrame.setIconImage(new ImageIcon(ChainsawIcons.HELP).getImage()); tutorialFrame.setSize(new Dimension(640, 480)); final Action startTutorial = new AbstractAction("Start Tutorial", new ImageIcon(ChainsawIcons.ICON_RESUME_RECEIVER)) { public void actionPerformed(ActionEvent e) { if (JOptionPane.showConfirmDialog(null, "This will start 3 \"Generator\" receivers for use in the Tutorial. Is that ok?", "Confirm", JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION) { new Thread(new Tutorial()).start(); putValue("TutorialStarted", Boolean.TRUE); } else { putValue("TutorialStarted", Boolean.FALSE); } } }; final Action stopTutorial = new AbstractAction("Stop Tutorial", new ImageIcon(ChainsawIcons.ICON_STOP_RECEIVER)) { public void actionPerformed(ActionEvent e) { if (JOptionPane.showConfirmDialog(null, "This will stop all of the \"Generator\" receivers used in the Tutorial, but leave any other Receiver untouched. Is that ok?", "Confirm", JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION) { new Thread(new Runnable() { public void run() { LoggerRepository repo = LogManager.getLoggerRepository(); if (repo instanceof LoggerRepositoryEx) { PluginRegistry pluginRegistry = ((LoggerRepositoryEx) repo).getPluginRegistry(); List list = pluginRegistry.getPlugins(Generator.class); for (Iterator iter = list.iterator(); iter.hasNext();) { Plugin plugin = (Plugin) iter.next(); pluginRegistry.stopPlugin(plugin.getName()); } } } }).start(); setEnabled(false); startTutorial.putValue("TutorialStarted", Boolean.FALSE); } } }; stopTutorial.putValue(Action.SHORT_DESCRIPTION, "Removes all of the Tutorials Generator Receivers, leaving all other Receivers untouched"); startTutorial.putValue(Action.SHORT_DESCRIPTION, "Begins the Tutorial, starting up some Generator Receivers so you can see Chainsaw in action"); stopTutorial.setEnabled(false); final SmallToggleButton startButton = new SmallToggleButton(startTutorial); PropertyChangeListener pcl = new PropertyChangeListener() { public void propertyChange(PropertyChangeEvent evt) { stopTutorial.setEnabled(((Boolean) startTutorial.getValue("TutorialStarted")).equals(Boolean.TRUE)); startButton.setSelected(stopTutorial.isEnabled()); } }; startTutorial.addPropertyChangeListener(pcl); stopTutorial.addPropertyChangeListener(pcl); pluginRegistry.addPluginListener(new PluginListener() { public void pluginStarted(PluginEvent e) { } public void pluginStopped(PluginEvent e) { List list = pluginRegistry.getPlugins(Generator.class); if (list.size() == 0) { startTutorial.putValue("TutorialStarted", Boolean.FALSE); } } }); final SmallButton stopButton = new SmallButton(stopTutorial); final JToolBar tutorialToolbar = new JToolBar(); tutorialToolbar.setFloatable(false); tutorialToolbar.add(startButton); tutorialToolbar.add(stopButton); container.add(tutorialToolbar, BorderLayout.NORTH); tutorialArea.addHyperlinkListener(new HyperlinkListener() { public void hyperlinkUpdate(HyperlinkEvent e) { if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) { if (e.getDescription().equals("StartTutorial")) { startTutorial.actionPerformed(null); } else if (e.getDescription().equals("StopTutorial")) { stopTutorial.actionPerformed(null); } else { try { tutorialArea.setPage(e.getURL()); } catch (IOException e1) { MessageCenter.getInstance().getLogger() .error("Failed to change the URL for the Tutorial", e1); } } } } }); /** * loads the saved tab settings and if there are hidden tabs, * hide those tabs out of currently loaded tabs.. */ if (!getTabbedPane().tabSetting.isWelcome()) { displayPanel(ChainsawTabbedPane.WELCOME_TAB, false); } if (!getTabbedPane().tabSetting.isZeroconf()) { displayPanel(ChainsawTabbedPane.ZEROCONF, false); } tbms.stateChange(); }
From source file:org.datacleaner.windows.AnalysisJobBuilderWindowImpl.java
private JComponent getWindowPanelContent() { if (_datastore != null) { setDatastore(_datastore);/*from ww w.ja v a2s. c o m*/ } final SaveAnalysisJobActionListener saveAnalysisJobActionListener = _saveAnalysisJobActionListenerProvider .get(); _saveButton.addActionListener(saveAnalysisJobActionListener); _saveAsButton.addActionListener(saveAnalysisJobActionListener); _saveAsButton.setActionCommand(SaveAnalysisJobActionListener.ACTION_COMMAND_SAVE_AS); // Run analysis _executeButton.addActionListener(execute(_analysisJobBuilder)); _executionAlternativesButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { final JMenuItem executeNormallyMenutItem = WidgetFactory.createMenuItem("Run normally", IconUtils.ACTION_EXECUTE); executeNormallyMenutItem.addActionListener(execute(_analysisJobBuilder)); final JMenuItem executePreviewMenuItem = WidgetFactory.createMenuItem("Run first N records", IconUtils.ACTION_PREVIEW); executePreviewMenuItem.addActionListener(executePreview()); final JMenuItem executeSingleThreadedMenuItem = WidgetFactory.createMenuItem("Run single-threaded", IconUtils.MODEL_ROW); executeSingleThreadedMenuItem.addActionListener(executeSingleThreaded()); final JPopupMenu menu = new JPopupMenu(); menu.add(executeNormallyMenutItem); menu.addSeparator(); menu.add(executePreviewMenuItem); menu.add(executeSingleThreadedMenuItem); final int horizontalPosition = -1 * menu.getPreferredSize().width + _executionAlternativesButton.getWidth(); menu.show(_executionAlternativesButton, horizontalPosition, _executionAlternativesButton.getHeight()); } }); final JButton newJobButton = createToolbarButton("New", IconUtils.MENU_NEW); newJobButton.addActionListener(_newAnalysisJobActionListenerProvider.get()); final JButton openJobButton = createToolbarButton("Open", IconUtils.MENU_OPEN); openJobButton.addActionListener(_openAnalysisJobActionListenerProvider.get()); final JToggleButton moreButton = createMoreMenuButton(); final JButton logoButton = new JButton(imageManager.getImageIcon("images/menu/dc-logo-30.png")); logoButton.setToolTipText("About DataCleaner"); logoButton.setBorder(new EmptyBorder(0, 4, 0, 10)); logoButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { new AboutDialog(getWindowContext()).open(); } }); final JToolBar toolBar = WidgetFactory.createToolBar(); toolBar.add(logoButton); toolBar.add(newJobButton); toolBar.add(openJobButton); toolBar.add(_saveButton); toolBar.add(_saveAsButton); toolBar.add(DCLabel.bright(" | ")); toolBar.add(moreButton); toolBar.add(WidgetFactory.createToolBarSeparator()); toolBar.add(_executeButton); toolBar.add(DCLabel.bright("|")); toolBar.add(_executionAlternativesButton); final JXStatusBar statusBar = WidgetFactory.createStatusBar(_statusLabel); statusBar.add(_classicViewButton); statusBar.add(_graphViewButton); statusBar.add(Box.createHorizontalStrut(10)); final LicenceAndEditionStatusLabel statusLabel = new LicenceAndEditionStatusLabel(_glassPane); statusBar.add(statusLabel); final DCPanel toolBarPanel = new DCPanel(WidgetUtils.BG_COLOR_DARK); toolBarPanel.setLayout(new BorderLayout()); toolBarPanel.add(toolBar, BorderLayout.CENTER); final DCPanel panel = new DCPersistentSizedPanel(_windowSizePreference); panel.setLayout(new BorderLayout()); panel.add(toolBarPanel, BorderLayout.NORTH); panel.add(_leftPanel, BorderLayout.WEST); // newPanel.add(_tabbedPane, BorderLayout.NORTH); panel.add(_contentContainerPanel, BorderLayout.CENTER); panel.add(statusBar, BorderLayout.SOUTH); // invoke to trigger enablement/disablement of buttons. onSourceColumnsChanged(); updateStatusLabel(); WidgetUtils.centerOnScreen(this); return panel; }
From source file:org.domainmath.gui.MainFrame.java
private void histPanel() { JPanel p = new JPanel(new BorderLayout()); JToolBar b = new JToolBar(""); b.setFloatable(false);/*www .j a va 2 s . c om*/ b.setRollover(true); JButton saveButton = new JButton(); JButton runButton = new JButton(); saveButton.setIcon( new javax.swing.ImageIcon(getClass().getResource("/org/domainmath/gui/icons/script_save.png"))); runButton.setIcon( new javax.swing.ImageIcon(getClass().getResource("/org/domainmath/gui/icons/terminal.png"))); b.add(saveButton); b.add(runButton); p.add(b, BorderLayout.PAGE_START); p.add(this.histScrollPane, BorderLayout.CENTER); saveButton.addActionListener((ActionEvent e) -> { saveHistoryAs(); }); runButton.addActionListener((ActionEvent e) -> { runHistory(); }); historyView = new View("History", null, p); }