List of usage examples for javax.swing JPopupMenu add
public JMenuItem add(Action a)
Action
object. From source file:com.ivli.roim.controls.ChartControl.java
@Override public void mouseReleased(MouseEvent e) { if (SwingUtilities.isRightMouseButton(e) && (iMarker instanceof DomainMarker || iSeries instanceof XYSeries)) { JPopupMenu mnu = new JPopupMenu( java.util.ResourceBundle.getBundle("com/ivli/roim/Bundle").getString("MNU_MARKER_OPERATIONS")); if (iSeries instanceof XYSeries) { mnu.add(MENUS.ADD.makeItem(this)); mnu.add(MENUS.EXPORT_CSV.makeItem(this)); mnu.add(MENUS.DELETE_ALL.makeItem(this)); } else if (iMarker instanceof DomainMarker) { JMenu mi1 = new JMenu(MENUS.MOVE_TO_MIN.iText); mi1.add(MENUS.MOVE_TO_MIN.makeItem(this)); // mi1.add(MENUS.MOVE_TO_MIN_LEFT.makeItem(this)); // mi1.add(MENUS.MOVE_TO_MIN_RIGHT.makeItem(this)); mnu.add(mi1);//from w ww . j av a 2 s . c o m JMenu mi2 = new JMenu(MENUS.MOVE_TO_MAX.iText); mi2.add(MENUS.MOVE_TO_MAX.makeItem(this)); // mi2.add(MENUS.MOVE_TO_MAX_LEFT.makeItem(this)); // mi2.add(MENUS.MOVE_TO_MAX_RIGHT.makeItem(this)); mnu.add(mi2); mnu.add(MENUS.MOVE_TO_MEDIAN.makeItem(this)); //if(!getDomainMarkersForSeries()){ JMenu mi3 = new JMenu( java.util.ResourceBundle.getBundle("com/ivli/roim/Bundle").getString("MARKER_COMMAND.FIT")); mi3.add(MENUS.FIT_LEFT.makeItem(this)); mi3.add(MENUS.FIT_RIGHT.makeItem(this)); mnu.add(mi3); //} mnu.add(MENUS.DELETE.makeItem(this)); } mnu.show(this, e.getX(), e.getY()); } else { super.mouseReleased(e); dropSelection(); } }
From source file:net.sf.mzmine.modules.visualization.tic.TICPlot.java
public TICPlot(final ActionListener listener) { super(null, true); // Initialize. visualizer = listener;//from w w w . j a v a 2 s .c o m labelsVisible = 1; havePeakLabels = false; numOfDataSets = 0; numOfPeaks = 0; showSpectrumRequest = false; // Set cursor. setCursor(Cursor.getPredefinedCursor(Cursor.CROSSHAIR_CURSOR)); // Y-axis label. final String yAxisLabel; if (listener instanceof TICVisualizerWindow) { yAxisLabel = ((TICVisualizerWindow) listener).getPlotType() == PlotType.BASEPEAK ? "Base peak intensity" : "Total ion intensity"; } else { yAxisLabel = "Base peak intensity"; } // Initialize the chart by default time series chart from factory. final JFreeChart chart = ChartFactory.createXYLineChart("", // title "Retention time", // x-axis label yAxisLabel, // y-axis label null, // data set PlotOrientation.VERTICAL, // orientation true, // create legend? true, // generate tooltips? false // generate URLs? ); chart.setBackgroundPaint(Color.white); setChart(chart); // Title. chartTitle = chart.getTitle(); chartTitle.setFont(TITLE_FONT); chartTitle.setMargin(TITLE_TOP_MARGIN, 0.0, 0.0, 0.0); // Subtitle. chartSubTitle = new TextTitle(); chartSubTitle.setFont(SUBTITLE_FONT); chartSubTitle.setMargin(TITLE_TOP_MARGIN, 0.0, 0.0, 0.0); chart.addSubtitle(chartSubTitle); // Disable maximum size (we don't want scaling). setMaximumDrawWidth(Integer.MAX_VALUE); setMaximumDrawHeight(Integer.MAX_VALUE); // Legend constructed by ChartFactory. final LegendTitle legend = chart.getLegend(); legend.setItemFont(LEGEND_FONT); legend.setFrame(BlockBorder.NONE); // Set the plot properties. plot = chart.getXYPlot(); plot.setBackgroundPaint(Color.white); plot.setAxisOffset(AXIS_OFFSET); plot.setDatasetRenderingOrder(DatasetRenderingOrder.FORWARD); // Set grid properties. plot.setDomainGridlinePaint(GRID_COLOR); plot.setRangeGridlinePaint(GRID_COLOR); // Set cross-hair (selection) properties. if (listener instanceof TICVisualizerWindow) { plot.setDomainCrosshairVisible(true); plot.setRangeCrosshairVisible(true); plot.setDomainCrosshairPaint(CROSS_HAIR_COLOR); plot.setRangeCrosshairPaint(CROSS_HAIR_COLOR); plot.setDomainCrosshairStroke(CROSS_HAIR_STROKE); plot.setRangeCrosshairStroke(CROSS_HAIR_STROKE); } // Set the x-axis (retention time) properties. final NumberAxis xAxis = (NumberAxis) plot.getDomainAxis(); xAxis.setNumberFormatOverride(MZmineCore.getConfiguration().getRTFormat()); xAxis.setUpperMargin(AXIS_MARGINS); xAxis.setLowerMargin(AXIS_MARGINS); // Set the y-axis (intensity) properties. final NumberAxis yAxis = (NumberAxis) plot.getRangeAxis(); yAxis.setNumberFormatOverride(MZmineCore.getConfiguration().getIntensityFormat()); // Set default renderer properties. defaultRenderer = new TICPlotRenderer(); defaultRenderer.setBaseShapesFilled(true); defaultRenderer.setDrawOutlines(false); defaultRenderer.setUseFillPaint(true); defaultRenderer.setBaseItemLabelPaint(LABEL_COLOR); // Set label generator final XYItemLabelGenerator labelGenerator = new TICItemLabelGenerator(this); defaultRenderer.setBaseItemLabelGenerator(labelGenerator); defaultRenderer.setBaseItemLabelsVisible(true); // Set toolTipGenerator final XYToolTipGenerator toolTipGenerator = new TICToolTipGenerator(); defaultRenderer.setBaseToolTipGenerator(toolTipGenerator); // Set focus state to receive key events. setFocusable(true); // Register key handlers. GUIUtils.registerKeyHandler(this, KeyStroke.getKeyStroke("LEFT"), listener, "MOVE_CURSOR_LEFT"); GUIUtils.registerKeyHandler(this, KeyStroke.getKeyStroke("RIGHT"), listener, "MOVE_CURSOR_RIGHT"); GUIUtils.registerKeyHandler(this, KeyStroke.getKeyStroke("SPACE"), listener, "SHOW_SPECTRUM"); GUIUtils.registerKeyHandler(this, KeyStroke.getKeyStroke('+'), this, "ZOOM_IN"); GUIUtils.registerKeyHandler(this, KeyStroke.getKeyStroke('-'), this, "ZOOM_OUT"); // Add items to popup menu. final JPopupMenu popupMenu = getPopupMenu(); popupMenu.addSeparator(); if (listener instanceof TICVisualizerWindow) { popupMenu.add(new ExportPopUpMenu((TICVisualizerWindow) listener)); popupMenu.addSeparator(); popupMenu.add(new AddFilePopupMenu((TICVisualizerWindow) listener)); popupMenu.add(new RemoveFilePopupMenu((TICVisualizerWindow) listener)); popupMenu.add(new ExportPopUpMenu((TICVisualizerWindow) listener)); popupMenu.addSeparator(); } GUIUtils.addMenuItem(popupMenu, "Toggle showing peak values", this, "SHOW_ANNOTATIONS"); GUIUtils.addMenuItem(popupMenu, "Toggle showing data points", this, "SHOW_DATA_POINTS"); if (listener instanceof TICVisualizerWindow) { popupMenu.addSeparator(); GUIUtils.addMenuItem(popupMenu, "Show spectrum of selected scan", listener, "SHOW_SPECTRUM"); } popupMenu.addSeparator(); GUIUtils.addMenuItem(popupMenu, "Set axes range", this, "SETUP_AXES"); if (listener instanceof TICVisualizerWindow) { GUIUtils.addMenuItem(popupMenu, "Set same range to all windows", this, "SET_SAME_RANGE"); } }
From source file:canreg.client.gui.analysis.FrequenciesByYearInternalFrame.java
private void columnTableMousePressed(java.awt.event.MouseEvent evt) { if (evt.getButton() == java.awt.event.MouseEvent.BUTTON3) { JTable target = (JTable) evt.getSource(); int columnNumber = target.getSelectedColumn(); JPopupMenu jpm = new JPopupMenu("" + columnNumber); jpm.add(java.util.ResourceBundle .getBundle("canreg/client/gui/analysis/resources/FrequenciesByYearInternalFrame") .getString("COLUMN ") + tableColumnModel.getColumn(tableColumnModel.getColumnIndexAtX(evt.getX())).getHeaderValue()); jpm.show(target, evt.getX(), evt.getY()); }/*from w w w. ja va2 s .c om*/ }
From source file:gdt.jgui.entity.JEntityDigestDisplay.java
private JPopupMenu getFacetComponentMenu() { JPopupMenu popup = new JPopupMenu(); JMenuItem openItem = new JMenuItem("Open"); popup.add(openItem); openItem.setHorizontalTextPosition(JMenuItem.RIGHT); openItem.addActionListener(new ActionListener() { @Override/*from w w w .j a v a 2 s . c o m*/ public void actionPerformed(ActionEvent e) { //System.out.println("JEmailFacetOpenItem:edit:digest locator="+digestLocator$); try { Properties locator = Locator.toProperties(selection$); String entihome$ = locator.getProperty(Entigrator.ENTIHOME); String entityKey$ = locator.getProperty(EntityHandler.ENTITY_KEY); JEntityFacetPanel efp = new JEntityFacetPanel(); String efpLocator$ = efp.getLocator(); efpLocator$ = Locator.append(efpLocator$, Entigrator.ENTIHOME, entihome$); efpLocator$ = Locator.append(efpLocator$, EntityHandler.ENTITY_KEY, entityKey$); //System.out.println("JEmailFacetOpenItem:edit:text editor="+teLocator$); JConsoleHandler.execute(console, efpLocator$); } catch (Exception ee) { Logger.getLogger(JEntityDigestDisplay.class.getName()).info(ee.toString()); } } }); return popup; }
From source file:gdt.jgui.entity.JEntityDigestDisplay.java
private JPopupMenu getCollapsePopupMenu() { //System.out.println("JEntityDigestDisplay:getCollapsePopupMenu:selection="+Locator.remove(selection$, Locator.LOCATOR_ICON)); JPopupMenu popup = new JPopupMenu(); JMenuItem collapseItem = new JMenuItem("Collapse"); popup.add(collapseItem); collapseItem.setHorizontalTextPosition(JMenuItem.RIGHT); collapseItem.addActionListener(new ActionListener() { @Override/* www . ja v a 2s .c o m*/ public void actionPerformed(ActionEvent e) { try { node = (DefaultMutableTreeNode) tree.getLastSelectedPathComponent(); int cnt = node.getChildCount(); Stack<DefaultMutableTreeNode> s = new Stack<DefaultMutableTreeNode>(); if (cnt > 0) { DefaultMutableTreeNode child; for (int i = 0; i < cnt; i++) { child = (DefaultMutableTreeNode) node.getChildAt(i); s.push(child); } } while (!s.isEmpty()) tree.collapsePath(new TreePath(s.pop().getPath())); } catch (Exception ee) { } } }); return popup; }
From source file:canreg.client.gui.analysis.FrequenciesByYearInternalFrame.java
/** * * @param offset/*from w w w. ja va 2 s . co m*/ * @param evt */ public void showPopUpMenu(int offset, java.awt.event.MouseEvent evt) { JTable target = (JTable) evt.getSource(); int rowNumber = target.rowAtPoint(new Point(evt.getX(), evt.getY())); rowNumber = target.convertRowIndexToModel(rowNumber); JPopupMenu jpm = new JPopupMenu(); jpm.add(java.util.ResourceBundle .getBundle("canreg/client/gui/analysis/resources/FrequenciesByYearInternalFrame") .getString("SHOW_IN_BROWSER")); TableModel tableModel = target.getModel(); // resultTable.get // jpm.add("Column " + rowNumber +" " + tableColumnModel.getColumn(tableColumnModel.getColumnIndexAtX(evt.getX())).getHeaderValue()); int year = Integer.parseInt((String) tableModel.getValueAt(rowNumber, 0)); String filterString = "INCID >= '" + year * 10000 + "' AND INCID <'" + (year + 1) * 10000 + "'"; for (DatabaseVariablesListElement dvle : chosenVariables) { int columnNumber = tableColumnModel .getColumnIndex(canreg.common.Tools.toUpperCaseStandardized(dvle.getDatabaseVariableName())); String value = tableModel.getValueAt(rowNumber, columnNumber).toString(); filterString += " AND " + canreg.common.Tools.toUpperCaseStandardized(dvle.getDatabaseVariableName()) + " = " + dvle.getSQLqueryFormat(value); } DatabaseFilter filter = new DatabaseFilter(); filter.setFilterString(filterString); Logger.getLogger(FrequenciesByYearInternalFrame.class.getName()).log(Level.INFO, "FilterString: {0}", filterString); try { tableDatadescriptionPopUp = canreg.client.CanRegClientApp.getApplication() .getDistributedTableDescription(filter, rangeFilterPanel.getSelectedTable()); Object[][] rows = canreg.client.CanRegClientApp.getApplication().retrieveRows( tableDatadescriptionPopUp.getResultSetID(), 0, MAX_ENTRIES_DISPLAYED_ON_RIGHT_CLICK); String[] variableNames = tableDatadescriptionPopUp.getColumnNames(); for (Object[] row : rows) { String line = ""; int i = 0; for (Object obj : row) { if (obj != null) { line += variableNames[i] + ": " + obj.toString() + ", "; } i++; } jpm.add(line); } } catch (SQLException ex) { Logger.getLogger(FrequenciesByYearInternalFrame.class.getName()).log(Level.SEVERE, null, ex); } catch (RemoteException ex) { Logger.getLogger(FrequenciesByYearInternalFrame.class.getName()).log(Level.SEVERE, null, ex); } catch (SecurityException ex) { Logger.getLogger(FrequenciesByYearInternalFrame.class.getName()).log(Level.SEVERE, null, ex); } catch (DistributedTableDescriptionException ex) { Logger.getLogger(FrequenciesByYearInternalFrame.class.getName()).log(Level.SEVERE, null, ex); } catch (UnknownTableException ex) { Logger.getLogger(FrequenciesByYearInternalFrame.class.getName()).log(Level.SEVERE, null, ex); } int cases = (Integer) tableModel.getValueAt(rowNumber, tableColumnModel.getColumnIndex("CASES")); if (MAX_ENTRIES_DISPLAYED_ON_RIGHT_CLICK < cases) { jpm.add("..."); } MenuItem menuItem = new MenuItem(); jpm.show(target, evt.getX(), evt.getY()); }
From source file:net.sf.jabref.gui.MainTableSelectionListener.java
@Override public void mouseClicked(MouseEvent e) { // First find the column on which the user has clicked. final int col = table.columnAtPoint(e.getPoint()); final int row = table.rowAtPoint(e.getPoint()); // A double click on an entry should open the entry's editor. if (e.getClickCount() == 2) { BibtexEntry toShow = tableRows.get(row); editSignalled(toShow);/*from www.j av a 2 s. c om*/ } // Check if the user has clicked on an icon cell to open url or pdf. final String[] iconType = table.getIconTypeForColumn(col); // Workaround for Windows. Right-click is not popup trigger on mousePressed, but // on mouseReleased. Therefore we need to avoid taking action at this point, because // action will be taken when the button is released: if (OS.WINDOWS && (iconType != null) && (e.getButton() != MouseEvent.BUTTON1)) { return; } if (iconType != null) { // left click on icon field SpecialField field = SpecialFieldsUtils.getSpecialFieldInstanceFromFieldName(iconType[0]); if ((e.getClickCount() == 1) && (field != null)) { // special field found if (field.isSingleValueField()) { // directly execute toggle action instead of showing a menu with one action field.getValues().get(0).getAction(panel.frame()).action(); } else { JPopupMenu menu = new JPopupMenu(); for (SpecialFieldValue val : field.getValues()) { menu.add(val.getMenuAction(panel.frame())); } menu.show(table, e.getX(), e.getY()); } return; } Object value = table.getValueAt(row, col); if (value == null) { return; // No icon here, so we do nothing. } final BibtexEntry entry = tableRows.get(row); // Get the icon type. Corresponds to the field name. int hasField = -1; for (int i = iconType.length - 1; i >= 0; i--) { if (entry.getField(iconType[i]) != null) { hasField = i; } } if (hasField == -1) { return; } final String fieldName = iconType[hasField]; //If this is a file link field with specified file types, //we should also pass the types. String[] fileTypes = {}; if ((hasField == 0) && iconType[hasField].equals(Globals.FILE_FIELD) && (iconType.length > 1)) { fileTypes = iconType; } final List<String> listOfFileTypes = Collections.unmodifiableList(Arrays.asList(fileTypes)); // Open it now. We do this in a thread, so the program won't freeze during the wait. JabRefExecutorService.INSTANCE.execute(new Runnable() { @Override public void run() { panel.output(Localization.lang("External viewer called") + '.'); Object link = entry.getField(fieldName); if (link == null) { LOGGER.info("Error: no link to " + fieldName + '.'); return; // There is an icon, but the field is not set. } // See if this is a simple file link field, or if it is a file-list // field that can specify a list of links: if (fieldName.equals(Globals.FILE_FIELD)) { // We use a FileListTableModel to parse the field content: FileListTableModel fileList = new FileListTableModel(); fileList.setContent((String) link); FileListEntry flEntry = null; // If there are one or more links of the correct type, // open the first one: if (!listOfFileTypes.isEmpty()) { for (int i = 0; i < fileList.getRowCount(); i++) { flEntry = fileList.getEntry(i); boolean correctType = false; for (String listOfFileType : listOfFileTypes) { if (flEntry.getType().toString().equals(listOfFileType)) { correctType = true; } } if (correctType) { break; } flEntry = null; } } //If there are no file types specified, consider all files. else if (fileList.getRowCount() > 0) { flEntry = fileList.getEntry(0); } if (flEntry != null) { // if (fileList.getRowCount() > 0) { // FileListEntry flEntry = fileList.getEntry(0); ExternalFileMenuItem item = new ExternalFileMenuItem(panel.frame(), entry, "", flEntry.getLink(), flEntry.getType().getIcon(), panel.metaData(), flEntry.getType()); boolean success = item.openLink(); if (!success) { panel.output(Localization.lang("Unable to open link.")); } } } else { try { JabRefDesktop.openExternalViewer(panel.metaData(), (String) link, fieldName); } catch (IOException ex) { panel.output(Localization.lang("Unable to open link.")); } /*ExternalFileType type = Globals.prefs.getExternalFileTypeByMimeType("text/html"); ExternalFileMenuItem item = new ExternalFileMenuItem (panel.frame(), entry, "", (String)link, type.getIcon(), panel.metaData(), type); boolean success = item.openLink(); if (!success) { panel.output(Localization.lang("Unable to open link.")); } */ //Util.openExternalViewer(panel.metaData(), (String)link, fieldName); } //catch (IOException ex) { // panel.output(Globals.lang("Error") + ": " + ex.getMessage()); //} } }); } }
From source file:es.emergya.ui.gis.HistoryMapViewer.java
@Override protected JPopupMenu getContextMenu() { JPopupMenu menu = new JPopupMenu(); // Centrar aqui JMenuItem cent = new JMenuItem(i18n.getString("map.menu.centerHere"), KeyEvent.VK_C); cent.setIcon(LogicConstants.getIcon("menucontextual_icon_centrar")); cent.addActionListener(new ActionListener() { @Override/* w w w . ja v a 2s .c o m*/ public void actionPerformed(ActionEvent e) { mapView.zoomToFactor(mapView.getEastNorth(eventOriginal.getX(), eventOriginal.getY()), mapView.zoomFactor); } }); menu.add(cent); menu.addPopupMenuListener(new PopupMenuListener() { @Override public void popupMenuWillBecomeVisible(PopupMenuEvent e) { eventOriginal = HistoryMapViewer.this.mapView.lastMEvent; } @Override public void popupMenuCanceled(PopupMenuEvent arg0) { } @Override public void popupMenuWillBecomeInvisible(PopupMenuEvent arg0) { } }); return menu; }
From source file:edu.gcsc.vrl.jfreechart.JFXPlotContainerType.java
protected void updateChartPanel(Container container, final JFreeChart jFreeChart) { if (chartPanel != null) { chartContainer.remove(chartPanel); }/*from ww w. j a v a2s . c o m*/ chartPanel = new ChartPanel(jFreeChart); chartContainer.add(chartPanel); JPopupMenu menu = chartPanel.getPopupMenu(); menu.addSeparator(); JMenuItem item1 = new JMenuItem("Export"); item1.setActionCommand("export_chart"); item1.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { String cmd = e.getActionCommand(); if (cmd.equals("export_chart")) { try { new JFExport().openExportDialog(jFreeChart); } catch (Exception e1) { e1.printStackTrace(System.err); } } } }); menu.add(item1); revalidate(); }
From source file:net.sf.jhylafax.addressbook.AddressBook.java
private void initializeContent() { horizontalSplitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT); horizontalSplitPane.setBorder(GUIHelper.createEmptyBorder(5)); rootNode = new DefaultMutableTreeNode(); addressBookTreeModel = new DefaultTreeModel(rootNode); addressBookTree = new JTree(addressBookTreeModel); addressBookTree.setRootVisible(false); addressBookTree.setCellRenderer(new ContactCollectionCellRenderer()); horizontalSplitPane.add(new JScrollPane(addressBookTree)); JPanel contactPanel = new JPanel(); contactPanel.setLayout(new BorderLayout(0, 10)); horizontalSplitPane.add(contactPanel); DefaultFormBuilder builder = new DefaultFormBuilder( new FormLayout("min, 3dlu, min, 3dlu, pref:grow, 3dlu, min", "")); contactPanel.add(builder.getPanel(), BorderLayout.NORTH); searchTextField = new JTextField(10); EraseTextFieldAction eraseAction = new EraseTextFieldAction(searchTextField) { public void actionPerformed(ActionEvent event) { super.actionPerformed(event); filterAction.actionPerformed(event); };/*from w w w . ja va 2 s . c o m*/ }; builder.append(new TabTitleButton(eraseAction)); filterLabel = new JLabel(); builder.append(filterLabel); builder.append(searchTextField); GUIHelper.bindEnterKey(searchTextField, filterAction); builder.append(Builder.createButton(filterAction)); JPopupMenu tablePopupMenu = new JPopupMenu(); tablePopupMenu.add(Builder.createMenuItem(newAction)); tablePopupMenu.addSeparator(); tablePopupMenu.add(Builder.createMenuItem(editAction)); tablePopupMenu.addSeparator(); tablePopupMenu.add(Builder.createMenuItem(deleteAction)); contactTableModel = new AddressTableModel(); TableSorter sorter = new TableSorter(contactTableModel); contactTable = new ColoredTable(sorter); contactTableLayoutManager = new TableLayoutManager(contactTable); contactTableLayoutManager.addColumnProperties("displayName", "", 180, true); contactTableLayoutManager.addColumnProperties("company", "", 80, true); contactTableLayoutManager.addColumnProperties("faxNumber", "", 60, true); contactTableLayoutManager.initializeTableLayout(); contactPanel.add(new JScrollPane(contactTable), BorderLayout.CENTER); contactTable.setShowVerticalLines(true); contactTable.setShowHorizontalLines(false); contactTable.setAutoCreateColumnsFromModel(true); contactTable.setIntercellSpacing(new java.awt.Dimension(2, 1)); contactTable.setBounds(0, 0, 50, 50); contactTable.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); contactTable.getSelectionModel().addListSelectionListener(this); contactTable.addMouseListener(new PopupListener(tablePopupMenu)); contactTable.addMouseListener(new DoubleClickListener(new TableDoubleClickAction())); contactTable.setTransferHandler(new ContactTransferHandler()); contactTable.setDragEnabled(true); contactTable.setDefaultRenderer(String.class, new StringCellRenderer()); getContentPane().setLayout(new BorderLayout()); getContentPane().add(horizontalSplitPane, BorderLayout.CENTER); }