Example usage for javax.swing JPopupMenu JPopupMenu

List of usage examples for javax.swing JPopupMenu JPopupMenu

Introduction

In this page you can find the example usage for javax.swing JPopupMenu JPopupMenu.

Prototype

public JPopupMenu() 

Source Link

Document

Constructs a JPopupMenu without an "invoker".

Usage

From source file:org.eurocarbdb.application.glycoworkbench.plugin.s3.Cockpit.java

/**
 * Initialise the application's menu bar.
 *//*from  w  w w .  j  av  a2 s.  c om*/
private void initMenus() {
    JMenuBar appMenuBar = new JMenuBar();
    if (this.isStandAloneApplication && OS_NAME_MAC.equals(System.getProperty("os.name"))) {
        /*
         * We need to check we're running on a Mac before adding the menu to the
         * owner frame, otherwise the menus will be displayed *behind* the main
         * GUI panel on Windows Vista and later [sigh]
         */
        ownerFrame.setJMenuBar(appMenuBar);
    } else {
        this.setJMenuBar(appMenuBar);
    }

    // Service menu
    JMenu serviceMenu = new JMenu("Service");

    loginMenuItem = new JMenuItem("Log in...");
    loginMenuItem.setActionCommand("LoginEvent");
    loginMenuItem.addActionListener(this);
    guiUtils.applyIcon(loginMenuItem, "/images/nuvola/16x16/actions/connect_creating.png");
    serviceMenu.add(loginMenuItem);

    logoutMenuItem = new JMenuItem("Log out");
    logoutMenuItem.setActionCommand("LogoutEvent");
    logoutMenuItem.addActionListener(this);
    guiUtils.applyIcon(logoutMenuItem, "/images/nuvola/16x16/actions/connect_no.png");
    serviceMenu.add(logoutMenuItem);

    loginSwitchMenu = new JMenu("Switch login");
    loginSwitchMenu.addActionListener(this);
    serviceMenu.add(new JSeparator());
    guiUtils.applyIcon(loginSwitchMenu, "/images/nuvola/16x16/actions/connect_established.png");
    serviceMenu.add(loginSwitchMenu);
    loginSwitchMenu.setEnabled(false);

    if (isStandAloneApplication) {
        serviceMenu.add(new JSeparator());

        JMenuItem quitMenuItem = new JMenuItem("Quit");
        quitMenuItem.setActionCommand("QuitEvent");
        quitMenuItem.addActionListener(this);
        guiUtils.applyIcon(quitMenuItem, "/images/nuvola/16x16/actions/exit.png");
        serviceMenu.add(quitMenuItem);
    }

    logoutMenuItem.setEnabled(false);

    // Bucket action menu.
    bucketActionMenu = new JPopupMenu();

    refreshBucketMenuItem = new JMenuItem("Refresh bucket listing");
    refreshBucketMenuItem.setActionCommand("RefreshBuckets");
    refreshBucketMenuItem.addActionListener(this);
    guiUtils.applyIcon(refreshBucketMenuItem, "/images/nuvola/16x16/actions/reload.png");
    bucketActionMenu.add(refreshBucketMenuItem);

    viewBucketPropertiesMenuItem = new JMenuItem("View bucket properties...");
    viewBucketPropertiesMenuItem.setActionCommand("ViewBucketProperties");
    viewBucketPropertiesMenuItem.addActionListener(this);
    guiUtils.applyIcon(viewBucketPropertiesMenuItem, "/images/nuvola/16x16/actions/viewmag.png");
    bucketActionMenu.add(viewBucketPropertiesMenuItem);

    updateBucketACLMenuItem = new JMenuItem("Update bucket's Access Control List...");
    updateBucketACLMenuItem.setActionCommand("UpdateBucketACL");
    updateBucketACLMenuItem.addActionListener(this);
    guiUtils.applyIcon(updateBucketACLMenuItem, "/images/nuvola/16x16/actions/encrypted.png");
    bucketActionMenu.add(updateBucketACLMenuItem);

    updateBucketRequesterPaysStatusMenuItem = new JMenuItem("Update bucket's Requester Pays status...");
    updateBucketRequesterPaysStatusMenuItem.setActionCommand("UpdateBucketRequesterPaysStatus");
    updateBucketRequesterPaysStatusMenuItem.addActionListener(this);
    guiUtils.applyIcon(updateBucketRequesterPaysStatusMenuItem, "/images/nuvola/16x16/actions/identity.png");
    bucketActionMenu.add(updateBucketRequesterPaysStatusMenuItem);

    bucketActionMenu.add(new JSeparator());

    createBucketMenuItem = new JMenuItem("Create new bucket...");
    createBucketMenuItem.setActionCommand("CreateBucket");
    createBucketMenuItem.addActionListener(this);
    guiUtils.applyIcon(createBucketMenuItem, "/images/nuvola/16x16/actions/viewmag+.png");
    bucketActionMenu.add(createBucketMenuItem);

    JMenuItem thirdPartyBucketMenuItem = new JMenuItem("Add third-party bucket...");
    thirdPartyBucketMenuItem.setActionCommand("AddThirdPartyBucket");
    thirdPartyBucketMenuItem.addActionListener(this);
    guiUtils.applyIcon(thirdPartyBucketMenuItem, "/images/nuvola/16x16/actions/viewmagfit.png");
    bucketActionMenu.add(thirdPartyBucketMenuItem);

    bucketActionMenu.add(new JSeparator());

    deleteBucketMenuItem = new JMenuItem("Delete bucket...");
    deleteBucketMenuItem.setActionCommand("DeleteBucket");
    deleteBucketMenuItem.addActionListener(this);
    guiUtils.applyIcon(deleteBucketMenuItem, "/images/nuvola/16x16/actions/cancel.png");
    bucketActionMenu.add(deleteBucketMenuItem);

    viewBucketPropertiesMenuItem.setEnabled(false);
    refreshBucketMenuItem.setEnabled(false);
    createBucketMenuItem.setEnabled(false);
    updateBucketACLMenuItem.setEnabled(false);
    updateBucketRequesterPaysStatusMenuItem.setEnabled(false);
    deleteBucketMenuItem.setEnabled(false);

    // Object action menu.
    objectActionMenu = new JPopupMenu();

    refreshObjectMenuItem = new JMenuItem("Refresh object listing");
    refreshObjectMenuItem.setActionCommand("RefreshObjects");
    refreshObjectMenuItem.addActionListener(this);
    guiUtils.applyIcon(refreshObjectMenuItem, "/images/nuvola/16x16/actions/reload.png");
    objectActionMenu.add(refreshObjectMenuItem);

    viewOrModifyObjectAttributesMenuItem = new JMenuItem("View or Modify object attributes...");
    viewOrModifyObjectAttributesMenuItem.setActionCommand("ViewOrModifyObjectAttributes");
    viewOrModifyObjectAttributesMenuItem.addActionListener(this);
    guiUtils.applyIcon(viewOrModifyObjectAttributesMenuItem, "/images/nuvola/16x16/actions/viewmag.png");
    objectActionMenu.add(viewOrModifyObjectAttributesMenuItem);

    copyObjectsMenuItem = new JMenuItem("Copy or Move objects...");
    copyObjectsMenuItem.setActionCommand("CopyObjects");
    copyObjectsMenuItem.addActionListener(this);
    guiUtils.applyIcon(copyObjectsMenuItem, "/images/nuvola/16x16/actions/filenew.png");
    objectActionMenu.add(copyObjectsMenuItem);

    updateObjectACLMenuItem = new JMenuItem("View or Modify Access Control Lists...");
    updateObjectACLMenuItem.setActionCommand("UpdateObjectACL");
    updateObjectACLMenuItem.addActionListener(this);
    guiUtils.applyIcon(updateObjectACLMenuItem, "/images/nuvola/16x16/actions/encrypted.png");
    objectActionMenu.add(updateObjectACLMenuItem);

    downloadObjectMenuItem = new JMenuItem("Download objects...");
    downloadObjectMenuItem.setActionCommand("DownloadObjects");
    downloadObjectMenuItem.addActionListener(this);
    guiUtils.applyIcon(downloadObjectMenuItem, "/images/nuvola/16x16/actions/1downarrow.png");
    objectActionMenu.add(downloadObjectMenuItem);

    uploadFilesMenuItem = new JMenuItem("Upload files...");
    uploadFilesMenuItem.setActionCommand("UploadFiles");
    uploadFilesMenuItem.addActionListener(this);
    guiUtils.applyIcon(uploadFilesMenuItem, "/images/nuvola/16x16/actions/1uparrow.png");
    objectActionMenu.add(uploadFilesMenuItem);

    objectActionMenu.add(new JSeparator());

    generatePublicGetUrls = new JMenuItem("Generate Public GET URLs...");
    generatePublicGetUrls.setActionCommand("GeneratePublicGetURLs");
    generatePublicGetUrls.addActionListener(this);
    guiUtils.applyIcon(generatePublicGetUrls, "/images/nuvola/16x16/actions/wizard.png");
    objectActionMenu.add(generatePublicGetUrls);

    generateTorrentUrl = new JMenuItem("Generate Torrent URL...");
    generateTorrentUrl.setActionCommand("GenerateTorrentURL");
    generateTorrentUrl.addActionListener(this);
    guiUtils.applyIcon(generateTorrentUrl, "/images/nuvola/16x16/actions/wizard.png");
    objectActionMenu.add(generateTorrentUrl);

    objectActionMenu.add(new JSeparator());

    deleteObjectMenuItem = new JMenuItem("Delete objects...");
    deleteObjectMenuItem.setActionCommand("DeleteObjects");
    deleteObjectMenuItem.addActionListener(this);
    guiUtils.applyIcon(deleteObjectMenuItem, "/images/nuvola/16x16/actions/cancel.png");
    objectActionMenu.add(deleteObjectMenuItem);

    viewOrModifyObjectAttributesMenuItem.setEnabled(false);
    copyObjectsMenuItem.setEnabled(false);
    refreshObjectMenuItem.setEnabled(false);
    updateObjectACLMenuItem.setEnabled(false);
    downloadObjectMenuItem.setEnabled(false);
    uploadFilesMenuItem.setEnabled(false);
    generatePublicGetUrls.setEnabled(false);
    generateTorrentUrl.setEnabled(false);
    deleteObjectMenuItem.setEnabled(false);

    // Tools menu.
    JMenu toolsMenu = new JMenu("Tools");

    bucketLoggingMenuItem = new JMenuItem("Configure Bucket logging...");
    bucketLoggingMenuItem.setActionCommand("BucketLogging");
    bucketLoggingMenuItem.addActionListener(this);
    bucketLoggingMenuItem.setEnabled(false);
    guiUtils.applyIcon(bucketLoggingMenuItem, "/images/nuvola/16x16/actions/toggle_log.png");
    toolsMenu.add(bucketLoggingMenuItem);

    manageDistributionsMenuItem = new JMenuItem("Manage CloudFront Distributions...");
    manageDistributionsMenuItem.setActionCommand("ManageDistributions");
    manageDistributionsMenuItem.addActionListener(this);
    guiUtils.applyIcon(manageDistributionsMenuItem, "/images/nuvola/16x16/actions/irkick.png");
    manageDistributionsMenuItem.setEnabled(false);
    toolsMenu.add(manageDistributionsMenuItem);

    toolsMenu.add(new JSeparator());

    preferencesDialogMenuItem = new JMenuItem("Preferences...");
    preferencesDialogMenuItem.setActionCommand("PreferencesDialog");
    preferencesDialogMenuItem.addActionListener(this);
    guiUtils.applyIcon(preferencesDialogMenuItem, "/images/nuvola/16x16/actions/configure.png");
    toolsMenu.add(preferencesDialogMenuItem);

    // Help menu.
    JMenu helpMenu = new JMenu("Help");
    cockpitHelpMenuItem = new JMenuItem("Cockpit Guide");
    guiUtils.applyIcon(cockpitHelpMenuItem, "/images/nuvola/16x16/actions/help.png");
    cockpitHelpMenuItem.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            try {
                followHyperlink(new URL(JETS3T_COCKPIT_HELP_PAGE), "_blank");
            } catch (MalformedURLException ex) {
                throw new IllegalStateException("Invalid URL embedded in program: " + JETS3T_COCKPIT_HELP_PAGE);
            }
        }
    });
    helpMenu.add(cockpitHelpMenuItem);
    amazonS3HelpMenuItem = new JMenuItem("Amazon S3");
    guiUtils.applyIcon(amazonS3HelpMenuItem, "/images/nuvola/16x16/actions/gohome.png");
    amazonS3HelpMenuItem.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            try {
                followHyperlink(new URL(AMAZON_S3_PAGE), "_blank");
            } catch (MalformedURLException ex) {
                throw new IllegalStateException("Invalid URL embedded in program: " + AMAZON_S3_PAGE);
            }
        }
    });
    helpMenu.add(amazonS3HelpMenuItem);

    // Build application menu bar.
    appMenuBar.add(serviceMenu);
    appMenuBar.add(toolsMenu);
    appMenuBar.add(helpMenu);
}

From source file:org.evors.rs.ui.frames.PopulationViewer.java

/**
 * Creates new form PopulationViewer/*from w  w w . jav  a2 s. c  om*/
 */
public PopulationViewer() {
    initComponents();

    menu = new JPopupMenu();

    miTrial = new JMenuItem("View trial...");
    miTrial.setEnabled(false);
    miTrial.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {

            TrialViewerFrame tvf = new TrialViewerFrame();
            tvf.setVisible(true);
            JSONPopulation pop = ((PopulationTM) jTable1.getModel()).getPop();

            tvf.loadSimulation(exp,
                    Genotype.withGenes(pop.getIndividuals()[jTable1.getSelectedRow()].getGenes()));
            getParent().add(tvf);
        }
    });
    menu.add(miTrial);

}

From source file:org.executequery.gui.browser.FindAction.java

private void init() {

    searchPanel = new JPanel(new GridBagLayout());
    popup = new JPopupMenu();

    searchField = WidgetFactory.createTextField();
    searchField.setPreferredSize(new Dimension(270, 22));

    resultsList = initSearchResultsList();
    JScrollPane scrollPane = new JScrollPane(resultsList);
    scrollPane.setPreferredSize(new Dimension(300, 150));

    JLabel label = new JLabel(" Search: ");

    GridBagConstraints gbc = new GridBagConstraints();
    gbc.gridx = 0;//from  ww  w.ja  v  a 2  s .c o m
    gbc.gridy = 0;
    gbc.insets.left = 3;
    gbc.insets.top = 3;
    gbc.insets.bottom = 3;
    searchPanel.add(label, gbc);
    gbc.gridx = 1;
    gbc.insets.right = 3;
    gbc.insets.left = 0;
    gbc.fill = GridBagConstraints.HORIZONTAL;
    searchPanel.add(searchField, gbc);
    gbc.gridx = 0;
    gbc.gridy++;
    gbc.gridwidth = 2;
    gbc.insets.left = 3;
    gbc.insets.top = 0;
    gbc.fill = GridBagConstraints.BOTH;
    searchPanel.add(scrollPane, gbc);

    popup.setBorder(BorderFactory.createLineBorder(UIUtils.getDefaultBorderColour()));
    popup.add(searchPanel);

    // when the window containing the "comp" has registered Esc key
    // then on pressing Esc instead of search popup getting closed
    // the event is sent to the window. to overcome this we
    // register an action for Esc.
    searchField.registerKeyboardAction(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            popup.setVisible(false);
        }
    }, KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), JComponent.WHEN_FOCUSED);
}

From source file:org.geopublishing.atlasStyler.swing.JScrollPaneSymbolsLocal.java

@Override
protected JPopupMenu getPopupMenu() {
    if (popupMenu == null) {
        popupMenu = new JPopupMenu();

        /*******************************************************************
         * Rename a Symbol from disk//from   w w w  .  j a  va 2  s  . c om
         */
        JMenuItem rename = new JMenuItem(AtlasStylerVector.R("SymbolSelector.Tabs.LocalSymbols.Action.Rename"));
        rename.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                int index = getJListSymbols().locationToIndex(mouseCLickEvent.getPoint());
                SingleRuleList singleLocalRulesList = (SingleRuleList) ((DefaultListModel) getJListSymbols()
                        .getModel()).get(index);
                String symbolFileName = singleLocalRulesList.getStyleName() + ".sld";
                File symbolFile = new File(
                        AtlasStylerVector.getSymbolsDir(singleLocalRulesList.getGeometryForm()),
                        symbolFileName);

                String newName = ASUtil.askForString(JScrollPaneSymbolsLocal.this,
                        singleLocalRulesList.getStyleName(),
                        AtlasStylerVector.R("SymbolSelector.Tabs.LocalSymbols.Action.Rename.AskForNewName"));
                if ((newName == null) || (newName.trim().equals(""))
                        || (newName.equals(singleLocalRulesList.getStyleName())))
                    return;

                if (!newName.toLowerCase().endsWith(".sld")) {
                    newName += ".sld";
                }

                File newSymbolFile = new File(
                        AtlasStylerVector.getSymbolsDir(singleLocalRulesList.getGeometryForm()), newName);
                try {
                    FileUtils.moveFile(symbolFile, newSymbolFile);
                } catch (IOException e1) {
                    LOGGER.error("rename failed", e1);

                    rescan(true);

                    String message = AtlasStylerVector.R("SymbolSelector.Tabs.LocalSymbols.Action.Rename.Error",
                            symbolFile.getAbsolutePath(), newSymbolFile.getAbsolutePath());
                    LOGGER.warn(message);
                    JOptionPane.showMessageDialog(JScrollPaneSymbolsLocal.this, message);
                }

                // Update the JListSymbols
                singleLocalRulesList.setStyleName(newName.substring(0, newName.length() - 4));
                getJListSymbols().repaint();
            }

        });
        popupMenu.add(rename);

        /*******************************************************************
         * Delete a Symbol on disk
         */
        JMenuItem remove = new JMenuItem(AtlasStylerVector.R("SymbolSelector.Tabs.LocalSymbols.Action.Delete"));
        remove.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                int index = getJListSymbols().locationToIndex(mouseCLickEvent.getPoint());
                SingleRuleList singleLocalRulesList = (SingleRuleList) ((DefaultListModel) getJListSymbols()
                        .getModel()).get(index);
                String symbolFileName = singleLocalRulesList.getStyleName() + ".sld";
                File symbolFile = new File(
                        AtlasStylerVector.getSymbolsDir(singleLocalRulesList.getGeometryForm()),
                        symbolFileName);

                int res = JOptionPane.showConfirmDialog(JScrollPaneSymbolsLocal.this,
                        AtlasStylerVector.R("SymbolSelector.Tabs.LocalSymbols.Action.Delete.Ask",
                                singleLocalRulesList.getStyleName(), symbolFile.getName()),
                        "", JOptionPane.YES_NO_OPTION);

                if (res != JOptionPane.YES_OPTION)
                    return;

                if (!symbolFile.delete()) {
                    String message = AtlasStylerVector.R("SymbolSelector.Tabs.LocalSymbols.Action.Delete.Error",
                            symbolFile.getName());
                    LOGGER.warn(message);
                    JOptionPane.showMessageDialog(JScrollPaneSymbolsLocal.this, message);
                    rescan(true);
                } else {
                    // Delete the entry from the JListSymbols
                    ((DefaultListModel) getJListSymbols().getModel()).remove(index);
                    // rescan(true);
                }

            }

        });
        popupMenu.add(remove);

        popupMenu.add(new JPopupMenu.Separator());
        /*******************************************************************
         * Rescan directory
         */
        JMenuItem rescan = new JMenuItem(AtlasStylerVector.R("SymbolSelector.Tabs.LocalSymbols.Action.Rescan"));
        rescan.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                rescan(true);
            }

        });
        popupMenu.add(rescan);

    }
    return popupMenu;
}

From source file:org.gofleet.module.routing.RoutingMap.java

@Override
protected JPopupMenu getContextMenu() {
    JPopupMenu menu = new JPopupMenu();

    menu.setBackground(Color.decode("#E8EDF6"));

    String mapMenuTituloPlanning = i18n.getString("map.menu.titulo.planning");
    String mapMenuNewPlanning = i18n.getString("map.menu.new.planning");
    // Ttulo//from w  w w.j a  va2s. c o  m
    final JMenuItem titulo = new JMenuItem(mapMenuTituloPlanning);
    titulo.setFont(LogicConstants.deriveBoldFont(10.0f));
    titulo.setBackground(Color.decode("#A4A4A4"));
    titulo.setFocusable(false);

    menu.add(titulo);

    // New Planning
    final JMenuItem to = new JMenuItem(mapMenuNewPlanning, KeyEvent.VK_F6);
    to.setIcon(LogicConstants.getIcon("menucontextual_icon_destinoruta"));
    to.addActionListener(this);
    menu.add(to);

    menu.addSeparator();

    return menu;
}

From source file:org.gtdfree.GTDFree.java

protected TrayIcon getTrayIcon() {
    if (trayIcon == null) {
        if (ApplicationHelper.isGTKLaF()) {
            trayIcon = new TrayIcon(ApplicationHelper.loadImage(ApplicationHelper.icon_name_large_tray_splash));
        } else {/*from w  ww . j av  a 2  s .com*/
            trayIcon = new TrayIcon(ApplicationHelper.loadImage(ApplicationHelper.icon_name_small_tray_splash));
        }

        trayIcon.setImageAutoSize(true);
        trayIcon.addMouseListener(new MouseAdapter() {

            @Override
            public void mouseClicked(MouseEvent e) {
                if (e.getButton() == MouseEvent.BUTTON1) {
                    trayIconPopup.setVisible(false);
                    if (getJFrame().isVisible()) {
                        getJFrame().setVisible(false);
                    } else {
                        pushVisible();
                    }
                } else {
                    if (trayIconPopup.isVisible()) {
                        trayIconPopup.setVisible(false);
                    } else {
                        Point p = new Point(e.getPoint());
                        /*
                         * Disabled, because we are anyway doing things like rollover,
                         * which are probably done by Frame.
                        if (getJFrame().isShowing()) {
                           SwingUtilities.convertPointFromScreen(p, getJFrame());
                           trayIconPopup.show(getJFrame(), p.x, p.y);
                        } else {
                        }*/
                        trayIconPopup.show(null, p.x, p.y);
                    }
                }
            }
        });
        trayIcon.setToolTip("GTD-Free - " + Messages.getString("GTDFree.Tray.desc")); //$NON-NLS-1$ //$NON-NLS-2$

        /*
         * Necessary only when popup is showing with null window. Hides popup.
         */
        MouseListener hideMe = new MouseAdapter() {
            @Override
            public void mouseExited(MouseEvent e) {
                if (e.getComponent() instanceof JMenuItem) {
                    JMenuItem jm = (JMenuItem) e.getComponent();
                    jm.getModel().setRollover(false);
                    jm.getModel().setArmed(false);
                    jm.repaint();
                }

                Point p = SwingUtilities.convertPoint(e.getComponent(), e.getPoint(), trayIconPopup);
                //System.out.println(p.x+" "+p.y+" "+trayIconPopup.getWidth()+" "+trayIconPopup.getHeight());
                if (p.x < 0 || p.x >= trayIconPopup.getWidth() || p.y < 0 || p.y >= trayIconPopup.getHeight()) {
                    trayIconPopup.setVisible(false);
                }
            }

            @Override
            public void mouseEntered(MouseEvent e) {
                if (e.getComponent() instanceof JMenuItem) {
                    JMenuItem jm = (JMenuItem) e.getComponent();
                    jm.getModel().setRollover(true);
                    jm.getModel().setArmed(true);
                    jm.repaint();
                }
            }
        };

        trayIconPopup = new JPopupMenu();
        trayIconPopup.addMouseListener(hideMe);

        JMenuItem mi = new JMenuItem(Messages.getString("GTDFree.Tray.Drop")); //$NON-NLS-1$
        mi.setIcon(ApplicationHelper.getIcon(ApplicationHelper.icon_name_small_collecting));
        mi.setToolTipText(Messages.getString("GTDFree.Tray.Drop.desc")); //$NON-NLS-1$
        mi.addMouseListener(hideMe);

        /*
         * Workaround for tray, if JFrame is showing, then mouse click is not fired
         */
        mi.addMouseListener(new MouseAdapter() {
            private boolean click = false;

            @Override
            public void mousePressed(MouseEvent e) {
                click = true;
            }

            @Override
            public void mouseReleased(MouseEvent e) {
                if (click) {
                    click = false;
                    doMouseClicked(e);
                }
            }

            @Override
            public void mouseExited(MouseEvent e) {
                click = false;
            }

            private void doMouseClicked(MouseEvent e) {
                trayIconPopup.setVisible(false);
                Clipboard c = null;
                if (e.getButton() == MouseEvent.BUTTON1) {
                    c = Toolkit.getDefaultToolkit().getSystemClipboard();
                } else if (e.getButton() == MouseEvent.BUTTON2) {
                    c = Toolkit.getDefaultToolkit().getSystemSelection();
                } else {
                    return;
                }
                try {
                    Object o = c.getData(DataFlavor.stringFlavor);
                    if (o != null) {
                        getEngine().getGTDModel().collectAction(o.toString());
                    }
                    flashMessage(Messages.getString("GTDFree.Tray.Collect.ok"), e.getLocationOnScreen()); //$NON-NLS-1$
                } catch (Exception e1) {
                    Logger.getLogger(this.getClass()).debug("Internal error.", e1); //$NON-NLS-1$
                    flashMessage(Messages.getString("GTDFree.Tray.Collect.fail") + e1.getMessage(), //$NON-NLS-1$
                            e.getLocationOnScreen());
                }
            }
        });

        TransferHandler th = new TransferHandler() {
            private static final long serialVersionUID = 1L;

            @Override
            public boolean canImport(JComponent comp, DataFlavor[] transferFlavors) {
                return DataFlavor.selectBestTextFlavor(transferFlavors) != null;
            }

            @Override
            public boolean importData(JComponent comp, Transferable t) {
                try {
                    DataFlavor f = DataFlavor.selectBestTextFlavor(t.getTransferDataFlavors());
                    Object o = t.getTransferData(f);
                    if (o != null) {
                        getEngine().getGTDModel().collectAction(o.toString());
                    }
                    return true;
                } catch (UnsupportedFlavorException e) {
                    Logger.getLogger(this.getClass()).debug("Internal error.", e); //$NON-NLS-1$
                } catch (IOException e) {
                    Logger.getLogger(this.getClass()).debug("Internal error.", e); //$NON-NLS-1$
                }
                return false;
            }

        };
        mi.setTransferHandler(th);

        trayIconPopup.add(mi);

        mi = new JMenuItem();
        mi.setIcon(ApplicationHelper.getIcon(ApplicationHelper.icon_name_large_delete));
        mi.setText(Messages.getString("GTDFree.Tray.Hide")); //$NON-NLS-1$
        mi.setToolTipText(Messages.getString("GTDFree.Tray.Hide.desc")); //$NON-NLS-1$
        mi.addMouseListener(hideMe);
        mi.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                trayIconPopup.setVisible(false);
                if (getJFrame().isVisible()) {
                    getJFrame().setVisible(false);
                }
            }
        });
        trayIconPopup.add(mi);

        mi = new JMenuItem();
        mi.setIcon(ApplicationHelper.getIcon(ApplicationHelper.icon_name_small_splash));
        mi.setText(Messages.getString("GTDFree.Tray.Show")); //$NON-NLS-1$
        mi.setToolTipText(Messages.getString("GTDFree.Tray.Show.desc")); //$NON-NLS-1$
        mi.addMouseListener(hideMe);
        mi.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                trayIconPopup.setVisible(false);
                pushVisible();
            }
        });
        trayIconPopup.add(mi);

        mi = new JMenuItem();
        mi.setIcon(ApplicationHelper.getIcon(ApplicationHelper.icon_name_large_exit));
        mi.setText(Messages.getString("GTDFree.Tray.Exit")); //$NON-NLS-1$
        mi.addMouseListener(hideMe);
        mi.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                trayIconPopup.setVisible(false);
                close(false);
            }
        });
        trayIconPopup.add(mi);

    }
    return trayIcon;
}

From source file:org.isatools.isacreator.filechooser.FileChooserUI.java

/**
 * Create the Navigation Tree panel/*from  ww w  .  j a va2s . co m*/
 *
 * @return @see JPanel containing the navigation tree to browse a file system.
 */
private JPanel createNavTree() {
    JPanel treeContainer = new JPanel(new BorderLayout());
    treeContainer.setBackground(UIHelper.BG_COLOR);
    treeContainer
            .setBorder(new TitledBorder(UIHelper.GREEN_ROUNDED_BORDER, "", TitledBorder.DEFAULT_JUSTIFICATION,
                    TitledBorder.DEFAULT_POSITION, UIHelper.VER_12_BOLD, UIHelper.DARK_GREEN_COLOR));

    JPanel navigationControls = new JPanel();
    navigationControls.setLayout(new BoxLayout(navigationControls, BoxLayout.LINE_AXIS));
    navigationControls.setOpaque(false);

    final JLabel navToParentDir = new JLabel(upIcon);
    navToParentDir.setOpaque(false);
    navToParentDir.addMouseListener(new CommonMouseAdapter() {

        public void mousePressed(MouseEvent event) {
            super.mousePressed(event);
            navToParentDir.setIcon(upIcon);
            try {
                updateTree(fileBrowser.getParentDirectory());
            } catch (IOException e) {
                errorAction("problem occurred!");
            }
        }

        public void mouseEntered(MouseEvent event) {
            super.mouseEntered(event);
            navToParentDir.setIcon(upIconOver);
        }

        public void mouseExited(MouseEvent event) {
            super.mouseExited(event);
            navToParentDir.setIcon(upIcon);
        }
    });

    navigationControls.add(navToParentDir);
    navigationControls.add(Box.createHorizontalStrut(5));

    final JLabel navToHomeDir = new JLabel(homeIcon);
    navToHomeDir.setOpaque(false);
    navToHomeDir.addMouseListener(new CommonMouseAdapter() {

        public void mousePressed(MouseEvent event) {
            super.mousePressed(event);
            navToHomeDir.setIcon(homeIcon);
            try {
                updateTree(fileBrowser.getHomeDirectory());

            } catch (IOException e) {
                if (e instanceof ConnectionException) {
                    status.setText("<html>status: not connected!</html>");
                }
                FileBrowserTreeNode defaultFTPNode = new FileBrowserTreeNode("problem occurred!", false,
                        FileBrowserTreeNode.DIRECTORY);
                updateTree(defaultFTPNode);
            }
        }

        public void mouseEntered(MouseEvent event) {
            super.mouseEntered(event);
            navToHomeDir.setIcon(homeIconOver);
        }

        public void mouseExited(MouseEvent event) {
            super.mouseExited(event);
            navToHomeDir.setIcon(homeIcon);
        }
    });

    navigationControls.add(navToHomeDir);
    navigationControls.add(Box.createGlue());

    treeContainer.add(navigationControls, BorderLayout.NORTH);

    try {
        treeModel = new DefaultTreeModel(fileBrowser.getHomeDirectory());
        directoryTree = new JTree(treeModel);
        directoryTree.setFont(UIHelper.VER_11_PLAIN);
        directoryTree.setCellRenderer(new FileSystemTreeCellRenderer());
    } catch (IOException e) {
        FileBrowserTreeNode defaultFTPNode = new FileBrowserTreeNode("problem occurred!", false,
                FileBrowserTreeNode.DIRECTORY);
        updateTree(defaultFTPNode);
    }

    directoryTree.addMouseListener(new CommonMouseAdapter() {

        public void mousePressed(MouseEvent event) {
            super.mousePressed(event);
            int selRow = directoryTree.getRowForLocation(event.getX(), event.getY());

            TreePath selPath = directoryTree.getPathForLocation(event.getX(), event.getY());

            if (selRow != -1) {
                final FileBrowserTreeNode node = (FileBrowserTreeNode) selPath.getLastPathComponent();

                if (SwingUtilities.isLeftMouseButton(event)) {

                    if (event.getClickCount() == 2) {
                        if ((node.getType() == FileBrowserTreeNode.DIRECTORY) && (node.getLevel() != 0)) {

                            String newPath;
                            if (fileBrowser instanceof LocalBrowser) {
                                newPath = ((File) fileBrowser.getDirFiles().get(node.toString())).getPath();
                            } else {
                                newPath = node.toString();
                            }
                            updateTree(fileBrowser.changeDirectory(newPath));
                        }

                        // else, if a leaf node, then add file to to list
                        if (node.isLeaf() && (node.getType() != FileBrowserTreeNode.DIRECTORY)) {
                            String extension = node.toString().substring(node.toString().lastIndexOf(".") + 1)
                                    .trim().toUpperCase();

                            FileChooserFile toAdd = null;

                            for (Object o : fileBrowser.getFileMap().get(extension)) {
                                String fileName;
                                String filePath;
                                if (fileBrowser instanceof LocalBrowser) {
                                    File file = (File) o;
                                    fileName = file.getName();
                                    filePath = file.getPath();

                                    if (fileName.equals(node.toString())) {
                                        toAdd = new CustomFile(filePath);
                                        break;
                                    }
                                } else {
                                    FTPFile ftpFile = (FTPFile) o;
                                    fileName = ftpFile.getName();
                                    filePath = fileBrowser.getAbsoluteWorkingDirectory() + File.separator
                                            + ftpFile.getName();

                                    if (fileName.equals(node.toString())) {
                                        toAdd = new CustomFTPFile(ftpFile, filePath);
                                        break;
                                    }
                                }

                            }

                            if (toAdd != null && !checkIfInList(toAdd)) {
                                selectedFiles.addFileItem(toAdd);
                            }
                        }
                    }
                } else {
                    if ((node.getType() == FileBrowserTreeNode.DIRECTORY) && (node.getLevel() != 0)) {

                        // show popup to add the directory to the selected files
                        JPopupMenu popup = new JPopupMenu();

                        JMenuItem addDirectory = new JMenuItem("add directory");
                        addDirectory.addActionListener(new ActionListener() {
                            public void actionPerformed(ActionEvent ae) {

                                Object fileToAdd = fileBrowser.getDirFiles().get(node.toString());
                                FileChooserFile toAdd;

                                if (fileToAdd instanceof File) {
                                    toAdd = new CustomFile(((File) fileToAdd).getPath());
                                } else {
                                    FTPFile ftpFile = (FTPFile) fileToAdd;
                                    String filePath = fileBrowser.getAbsoluteWorkingDirectory() + File.separator
                                            + ftpFile.getName();

                                    toAdd = new CustomFTPFile(ftpFile, filePath);
                                }

                                if (!checkIfInList(toAdd)) {
                                    selectedFiles.addDirectoryItem(toAdd);
                                }
                            }
                        });

                        popup.add(addDirectory);
                        popup.show(directoryTree, event.getX(), event.getY());
                    }
                }
            }
        }

    });

    BasicTreeUI ui = new BasicTreeUI() {
        public Icon getCollapsedIcon() {
            return null;
        }

        public Icon getExpandedIcon() {
            return null;
        }
    };

    directoryTree.setUI(ui);
    directoryTree.setFont(UIHelper.VER_12_PLAIN);

    JScrollPane treeScroll = new JScrollPane(directoryTree, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
            JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
    treeScroll.setPreferredSize(new Dimension(300, 200));
    treeScroll.setBorder(new EmptyBorder(0, 0, 0, 0));
    treeContainer.add(treeScroll, BorderLayout.CENTER);

    IAppWidgetFactory.makeIAppScrollPane(treeScroll);

    return treeContainer;
}

From source file:org.jets3t.gui.skins.SkinsFactory.java

public JPopupMenu createSkinnedJPopupMenu(String itemName) {
    Object instance = instantiateClass(buildSkinnedClassName("SkinnedJPopupMenu"), itemName);
    if (instance != null) {
        return (JPopupMenu) instance;
    } else {//from w  w w.j a  v  a2  s  .  c  om
        return new JPopupMenu();
    }
}

From source file:org.knime.ext.textprocessing.nodes.view.documentviewer2.DocumentPanel2.java

/**
 * Creates new instance of {@code DocumentPanel} with given document view model to show, and the preferred width and
 * height to set./*from w w  w  .j  a  va  2s .  co  m*/
 *
 * @param docViewModel The document view model.
 * @param preferredWidth The preferred width to set.
 * @param preferredHeight The preferred height to set.
 */
public DocumentPanel2(final DocumentViewModel docViewModel, final int preferredWidth,
        final int preferredHeight) {
    super(new BorderLayout());

    if (docViewModel == null) {
        throw new IllegalArgumentException("Document view model may not be null!");
    }
    m_docViewModel = docViewModel;

    m_fulltextPane = new JEditorPane();
    m_fulltextPane.setContentType("text/html");
    m_fulltextPane.setEditable(false);
    m_fulltextPane.setCaretPosition(0);
    m_fulltextPane.addHyperlinkListener(new LinkListener());
    m_fulltextPane.setToolTipText("Select text and right click.");

    HTMLEditorKit editorKit = new HTMLEditorKit();

    // Adding stylesheet to the document
    StyleSheet sheet = editorKit.getStyleSheet();
    sheet.addRule(
            "html, body {margin: 0; padding: 4px; color: #000000; font-family: 'Roboto', sans-serif; background: #ffffff; font-size: 12px;}");
    sheet.addRule("table { border-collapse: collapse; }");
    sheet.addRule("th, td { border: 1px solid #000000; padding: 10px 15px; }");
    sheet.addRule(
            ".docHeading {display: block; font-size: 15px; font-weight: bold; margin: 5px 0 30px 0; width: 100%;}");
    sheet.addRule(
            ".sep {  width:100%; border-bottom: 1px dashed #8c8b8b ; top: 10%; bottom: 20%; position: absolute; margin: 10px 0 10px 0;}");
    sheet.addRule(".subHeading { font-weight: 500; font-style: italic; text-transform: lowercase; }");

    editorKit.setStyleSheet(sheet);
    m_fulltextPane.setEditorKit(editorKit);

    Document doc = editorKit.createDefaultDocument();
    m_fulltextPane.setDocument(doc);
    m_fulltextPane.setText(getPreparedText());

    m_rightClickMenue = new JPopupMenu();
    JMenuItem item;
    for (String source : SearchEngines.getInstance().getSearchEngineNames()) {
        item = new JMenuItem(source);
        item.addActionListener(new RightClickMenueListener());
        m_rightClickMenue.add(item);
    }
    m_fulltextPane.setComponentPopupMenu(m_rightClickMenue);

    JScrollPane jsp = new JScrollPane(m_fulltextPane);
    jsp.setPreferredSize(new Dimension(preferredWidth, preferredHeight));
    add(jsp, BorderLayout.CENTER);
}

From source file:org.kuali.test.ui.base.BaseTable.java

/**
 *
 * @param config/*from  w  ww .  j  av  a 2s . c o  m*/
 */
public BaseTable(TableConfiguration config) {
    super(new BaseTableModel(config));

    for (int i = 0; i < config.getHeaders().length; ++i) {
        int cx = getColumnWidth(i);
        getColumnModel().getColumn(i).setWidth(cx);
        getColumnModel().getColumn(i).setPreferredWidth(cx);
    }

    getTableHeader().setReorderingAllowed(false);
    setShowHorizontalLines(true);
    setShowVerticalLines(true);
    setAutoResizeMode(JTable.AUTO_RESIZE_NEXT_COLUMN);

    popupMenu = new JPopupMenu();
    JMenuItem m;
    popupMenu.add(m = new JMenuItem(Constants.COPY_ACTION));
    m.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
            clipboard.setContents(new StringSelection(celldata), BaseTable.this);
            celldata = null;
        }
    });

    MouseAdapter ma = new MouseAdapter() {
        private void myPopupEvent(MouseEvent e) {
            int col = BaseTable.this.columnAtPoint(e.getPoint());
            int row = BaseTable.this.rowAtPoint(e.getPoint());
            if ((col > -1) && (row > -1)) {
                if (BaseTable.this.getValueAt(row, col) != null) {
                    celldata = BaseTable.this.getValueAt(row, col).toString();
                    popupMenu.show(BaseTable.this.getComponentAt(e.getX(), e.getY()), e.getX(), e.getY());
                }
            }
        }

        @Override
        public void mousePressed(MouseEvent e) {
            if (e.isPopupTrigger()) {
                myPopupEvent(e);
            }
        }

        @Override
        public void mouseReleased(MouseEvent e) {
            if (e.isPopupTrigger()) {
                myPopupEvent(e);
            }
        }
    };

    addMouseListener(ma);

    initializing = false;
}