Пример #1
0
 private void multiConnect() {
   if (jButtonMultiConnect.getText().equals("Multi-Connect")) {
     String res =
         JOptionPane.showInputDialog(this, "Enter number of connections", "Multi-Connect");
     if (res != null) {
       jButtonMultiConnect.setText("Multi-Disconnect");
       jMenuItemTestMulticonnect.setEnabled(false);
       jMenuItemTestMultidisconnect.setEnabled(true);
       int count = Integer.parseInt(res);
       MultiSessions = new Session[count];
       for (int i = 0; i < count; i++) {
         MultiSessions[i] = new Session();
         try {
           MultiSessions[i].connect(
               this.jTextFieldServer.getText(), this.jTextFieldUser.getText() + String.valueOf(i));
         } catch (ConnectionException ex1) {
         }
       }
     }
   } else {
     for (int i = 0; i < MultiSessions.length; i++) {
       try {
         ((Session) MultiSessions[i]).disconnect();
       } catch (Exception ex) {
         System.out.println("Error disconnectiong from session");
       }
     }
     jButtonMultiConnect.setText("Multi-Connect");
     jMenuItemTestMulticonnect.setEnabled(true);
     jMenuItemTestMultidisconnect.setEnabled(false);
   }
 }
Пример #2
0
  private void buildMenu() {
    fooMenu = new JMenu("File");
    fooMenu.setMnemonic('F');

    JMenuItem aboutItem = new JMenuItem("About...");
    aboutItem.setMnemonic('A');
    aboutItem.setEnabled(true);
    aboutItem.setIcon(new ImageIcon(this.getClass().getResource("/comment.png")));
    aboutItem.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            JLabel imageLabel =
                new JLabel(new ImageIcon(this.getClass().getResource("/solve_all_problems.gif")));
            JOptionPane.showMessageDialog(null, imageLabel, "About", JOptionPane.PLAIN_MESSAGE);
          }
        });

    JMenuItem exitItem = new JMenuItem("Exit");
    exitItem.setMnemonic('x');
    exitItem.setEnabled(true);
    exitItem.setIcon(new ImageIcon(this.getClass().getResource("/delete.png")));
    exitItem.addActionListener(this);

    fooMenu.add(aboutItem);
    fooMenu.addSeparator();
    fooMenu.add(exitItem);

    JMenuBar menuBar = new JMenuBar();
    menuBar.add(fooMenu);
    setJMenuBar(menuBar);
  }
Пример #3
0
  /**
   * Creates a new proximity node menu.
   *
   * @param parent Parent window used for dialogs.
   * @param graph Graph the proximity belong to.
   * @param node Clicked proximity node.
   */
  public CProximityNodeMenu(
      final JFrame parent, final ZyGraph graph, final ZyProximityNode<INaviViewNode> node) {
    Preconditions.checkNotNull(parent, "IE02150: Parent argument can not be null");

    Preconditions.checkNotNull(graph, "IE00972: Graph argument can't be null");

    Preconditions.checkNotNull(node, "IE00973: Node argument can't be null");

    add(CActionProxy.proxy(new CUnhideNodesAction(parent, graph, node)));

    addSeparator();

    final JMenuItem unhideParentItem =
        new JMenuItem(CActionProxy.proxy(new CUnhideParentsAction(parent, graph, node)));
    unhideParentItem.setEnabled(!node.isIncoming());
    add(unhideParentItem);

    final JMenuItem unhideChildrenItem =
        new JMenuItem(CActionProxy.proxy(new CUnhideChildrenAction(parent, graph, node)));
    unhideChildrenItem.setEnabled(node.isIncoming());
    add(unhideChildrenItem);

    addSeparator();

    add(CActionProxy.proxy(new CUnhideAndSelectAction(graph, node)));
    add(CActionProxy.proxy(new CUnhideAndAddToSelectionAction(graph, node)));
  }
Пример #4
0
  /**
   * listens to messages from the GMGen system, and handles them as needed
   *
   * @param message the source of the event from the system
   */
  @Override
  public void handleMessage(PCGenMessage message) {
    if (message instanceof FileMenuOpenMessage) {
      if (isActive()) {
        handleOpen();
      }
    } else if (message instanceof PlayerCharacterWasLoadedMessage) {
      PlayerCharacterWasLoadedMessage cmessage = (PlayerCharacterWasLoadedMessage) message;
      model.add(cmessage.getPc());
    } else if (message instanceof FocusOrStateChangeOccurredMessage) {
      if (isActive()) {
        charToolsItem.setEnabled(false);

        try {
          GMGenSystem.inst.openFileItem.setEnabled(true);
        } catch (Exception e) {
          // TODO Handle this?
        }
      } else {
        charToolsItem.setEnabled(true);
      }
    } else if (message instanceof GMGenBeingClosedMessage) {
      handleClose();
    }
    /*else if (message instanceof SavePCGRequestMessage)
    {
    SavePCGRequestMessage smessage = (SavePCGRequestMessage) message;
    savePC(smessage.getPC(), false);
    }*/
    else if (message instanceof PlayerCharacterWasClosedMessage) {
      PlayerCharacterWasClosedMessage cmessage = (PlayerCharacterWasClosedMessage) message;
      model.remove(cmessage.getPC());
    }
  }
  protected JMenu buildEditMenu() {
    JMenu edit = new JMenu("Edit");
    JMenuItem undo = new JMenuItem("Undo");
    JMenuItem copy = new JMenuItem("Copy");
    JMenuItem cut = new JMenuItem("Cut");
    JMenuItem paste = new JMenuItem("Paste");
    JMenuItem prefs = new JMenuItem("Preferences...");

    undo.setEnabled(false);
    copy.setEnabled(false);
    cut.setEnabled(false);
    paste.setEnabled(false);

    prefs.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            openPrefsWindow();
          }
        });

    edit.add(undo);
    edit.addSeparator();
    edit.add(cut);
    edit.add(copy);
    edit.add(paste);
    edit.addSeparator();
    edit.add(prefs);
    return edit;
  }
Пример #6
0
  /**
   * Set the content and visibility of menu items and menu separator, based on the recent file
   * stored user preferences.
   */
  private static void updateMenuItems(List<JComponent> menuItems) {
    // Assume no recent files
    boolean someRecentFiles = false;
    // Update the menu items
    for (int i = 0; i < NUMBER_OF_MENU_ITEMS; i++) {
      // Get the menu item
      JMenuItem recentFile = (JMenuItem) menuItems.get(i);

      // Find and set the file for this recent file command
      String recentFilePath = getRecentFile(i);
      if (recentFilePath != null) {
        File file = new File(recentFilePath);
        StringBuilder sb = new StringBuilder(60);
        if (i < 9) {
          sb.append(i + 1).append(" "); // $NON-NLS-1$
        }
        sb.append(getMenuItemDisplayName(file));
        recentFile.setText(sb.toString());
        recentFile.setToolTipText(recentFilePath);
        recentFile.setEnabled(true);
        recentFile.setVisible(true);
        // At least one recent file menu item is visible
        someRecentFiles = true;
      } else {
        recentFile.setEnabled(false);
        recentFile.setVisible(false);
      }
    }
    // If there are some recent files, we must make the separator visisble
    // The separator is the last item in the list
    JSeparator separator = (JSeparator) menuItems.get(menuItems.size() - 1);
    separator.setVisible(someRecentFiles);
  }
Пример #7
0
 /**
  * Must be called to connect to an archive.
  *
  * @param archive the archive to mount.
  */
 protected void doMount(Archive archive) {
   this.archive = archive;
   archive.getRoot().mkdirs();
   logger = new DownloadLogger(archive);
   logger.clear();
   setTitle("Raccoon - " + archive.getRoot().getAbsolutePath());
   views.removeAll();
   if (archive.getAndroidId().length() == 0) {
     views.addTab("Archive setup", InitView.create(this, archive));
   } else {
     searchView = SearchView.create(this, archive);
     updates.setEnabled(true);
     views.addTab("Search", searchView);
     views.addChangeListener(searchView);
     search.setEnabled(true);
     downloads.setEnabled(true);
     downloadListScroll = new JScrollPane();
     downloadListScroll.setViewportView(downloadList);
     downloadListScroll.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
     views.addTab("Downloads", downloadListScroll);
     Preferences prefs = Preferences.userNodeForPackage(getClass());
     prefs.put(LASTARCHIVE, archive.getRoot().getAbsolutePath());
     SwingUtilities.invokeLater(searchView);
   }
 }
Пример #8
0
  @Override
  public void maybeShowPopup(MouseEvent e, JPopupMenu popupMenu) {
    if (e.isPopupTrigger()) {
      String text = "Delete ";

      // if context menu is requested on a TextBox, customize popup menu.
      if (pressedTextBox != null) {
        text += pressedTextBox.getText();
        menuItemMoveUp.setEnabled(
            attributesView.indexOf(pressedTextBox) != 0
                && methodsView.indexOf(pressedTextBox) != 0);
        menuItemMoveDown.setEnabled(
            (attributesView.size() == 0
                    || attributesView.indexOf(pressedTextBox) != attributesView.size() - 1)
                && (methodsView.size() == 0
                    || methodsView.indexOf(pressedTextBox) != methodsView.size() - 1));
      } else {
        text += component.getName();
        menuItemMoveUp.setEnabled(false);
        menuItemMoveDown.setEnabled(false);
      }
      menuItemDelete.setText(text);
    }

    super.maybeShowPopup(e, popupMenu);
  }
Пример #9
0
 /**
  * This is the hook through which all menu items are created. It registers the result with the
  * menuitem hashtable so that it can be fetched with getMenuItem().
  *
  * @see #getMenuItem
  */
 protected JMenuItem createMenuItem(String cmd) {
   JMenuItem mi = new JMenuItem(getResourceString(cmd + labelSuffix));
   URL url = getResource(cmd + imageSuffix);
   if (url != null) {
     mi.setHorizontalTextPosition(JButton.RIGHT);
     mi.setIcon(new ImageIcon(url));
   }
   String astr = getResourceString(cmd + actionSuffix);
   if (astr == null) {
     astr = cmd;
   }
   mi.setActionCommand(astr);
   Action myaction = getAction(astr); // if this is a known action
   if (myaction != null) {
     mi.addActionListener(myaction);
     myaction.addPropertyChangeListener(createActionChangeListener(mi));
     // System.out.println("myaction not null: astr:"+astr+" enabled:"+myaction.isEnabled());
     mi.setEnabled(myaction.isEnabled());
   } else {
     System.err.println("Error:TextViewer: createMenuItem: myaction is null: astr:" + astr);
     // causes the item to be greyed out
     mi.setEnabled(false);
   }
   menuItems.put(cmd, mi);
   return mi;
 }
Пример #10
0
  // Graph menu item is only enabled when items are selected in the table.
  protected void checkMenuDisabledStatus() {
    int numberOfSelectedRows = getSelectedRowCount();

    graphSymbols.setEnabled(numberOfSelectedRows > 0 ? true : false);
    tableSymbols.setEnabled(numberOfSelectedRows > 0 ? true : false);
    alertSymbols.setEnabled(numberOfSelectedRows == 1 ? true : false);
  }
Пример #11
0
 public void setManager(boolean isManager) {
   manager = isManager;
   mntmNew.setEnabled(isManager);
   mntmOpen.setEnabled(isManager);
   mntmSave.setEnabled(isManager);
   mntmSaveAs.setEnabled(isManager);
 }
Пример #12
0
        CircuitPopup(Project proj, Tool tool, Circuit circuit) {
            super(_("circuitMenu"));
            this.proj = proj;
            this.circuit = circuit;

            add(editLayout); editLayout.addActionListener(this);
            add(editAppearance); editAppearance.addActionListener(this);
            add(analyze); analyze.addActionListener(this);
            add(stats); stats.addActionListener(this);
            addSeparator();
            add(main); main.addActionListener(this);
            add(remove); remove.addActionListener(this);

            boolean canChange = proj.getLogisimFile().contains(circuit);
            LogisimFile file = proj.getLogisimFile();
            if (circuit == proj.getCurrentCircuit()) {
                if (proj.getFrame().getEditorView().equals(Frame.EDIT_APPEARANCE)) {
                    editAppearance.setEnabled(false);
                } else {
                    editLayout.setEnabled(false);
                }
            }
            main.setEnabled(canChange && file.getMainCircuit() != circuit);
            remove.setEnabled(canChange && file.getCircuitCount() > 1
                    && proj.getDependencies().canRemove(circuit));
        }
  protected void setProcessMenuItemsEnabled() {

    boolean enabled =
        (tabbedPane.getSelectedIndex() == TAB_INDEX_PROCESS) && sshSession.isConnected();

    rdbtnmntmActiveProcesses.setEnabled(enabled);
    rdbtnmntmAllProcesses.setEnabled(enabled);
    rdbtnmntmMyProcesses.setEnabled(enabled);

    if ((panelProcesses != null) && panelProcesses.isRowSelected() && enabled) {

      mntmStopProcess.setEnabled(true);
      mntmContinueProcess.setEnabled(true);
      mntmEndProcess.setEnabled(true);
      mntmKillProcess.setEnabled(true);
      mntmChangePriority.setEnabled(true);

    } else {

      mntmStopProcess.setEnabled(false);
      mntmContinueProcess.setEnabled(false);
      mntmEndProcess.setEnabled(false);
      mntmKillProcess.setEnabled(false);
      mntmChangePriority.setEnabled(false);
    }
  }
Пример #14
0
  // If the user double clicks on a stock with the LMB, graph the stock.
  // If the user right clicks over the table, open up a popup menu.
  private void handleMouseClicked(MouseEvent event) {

    Point point = event.getPoint();

    // Right click on the table - raise menu
    if (event.getButton() == MouseEvent.BUTTON3) {
      JPopupMenu menu = new JPopupMenu();

      popupGraphSymbols = MenuHelper.addMenuItem(this, menu, Locale.getString("GRAPH"));
      popupGraphSymbols.setEnabled(getSelectedRowCount() > 0);

      popupTableSymbols = MenuHelper.addMenuItem(this, menu, Locale.getString("TABLE"));
      popupTableSymbols.setEnabled(getSelectedRowCount() > 0);

      menu.show(this, point.x, point.y);
    }

    // Left double click on the table - graph stock
    else if (event.getButton() == MouseEvent.BUTTON1 && event.getClickCount() == 2) {
      int[] selectedRows = getSelectedRows();
      List symbols = new ArrayList();
      for (int i = 0; i < selectedRows.length; i++) {
        Symbol symbol = (Symbol) model.getValueAt(selectedRows[i], EODQuoteModel.SYMBOL_COLUMN);

        symbols.add(symbol);
      }

      // Graph the highlighted symbols
      CommandManager.getInstance().graphStockBySymbol(symbols);
    }
  }
 private void enableMenuKeys() {
   menuSavePanel = null;
   selectAllMenu.setEnabled(true);
   selectRelatedMenu.setEnabled(true);
   expandSelectionMenu.setEnabled(true);
   deselectAllMenu.setEnabled(true);
 }
Пример #16
0
 /**
  * Invoked when a key has been released.
  *
  * <p>Invoked when a key has been released. See the class description for KeyEvent for a
  * definition of a key released event.
  */
 public void keyReleased(KeyEvent e) {
   if (!editor.getText().isEmpty() && isUnsavedFile()) {
     save.setEnabled(true);
   } else {
     save.setEnabled(false);
   }
 }
  public void adjustListMenuBar() {
    JMenuItem menuItem;
    Action act;
    String itemLabel;
    boolean enableState;
    boolean inEditState;
    boolean allowAdds;
    ICFInternetTopProjectObj selectedObj = getSwingFocusAsTopProject();
    CFJPanel.PanelMode mode = getPanelMode();
    if (mode == CFJPanel.PanelMode.Edit) {
      inEditState = true;
      if (getSwingContainer() != null) {
        allowAdds = true;
      } else {
        allowAdds = false;
      }
    } else {
      inEditState = false;
      allowAdds = false;
    }
    if (selectedObj == null) {
      enableState = false;
    } else {
      enableState = true;
    }

    if (actionViewSelected != null) {
      actionViewSelected.setEnabled(enableState);
    }
    if (actionEditSelected != null) {
      actionEditSelected.setEnabled(inEditState && enableState);
    }
    if (actionDeleteSelected != null) {
      actionDeleteSelected.setEnabled(inEditState && enableState);
    }
    if (actionAddTopProject != null) {
      actionAddTopProject.setEnabled(allowAdds);
    }

    if (menuAdd != null) {
      menuAdd.setEnabled(allowAdds);
    }
    if (menuSelected != null) {
      menuSelected.setEnabled(enableState);
      int itemCount = menuSelected.getItemCount();
      for (int itemIdx = 0; itemIdx < itemCount; itemIdx++) {
        menuItem = menuSelected.getItem(itemIdx);
        act = menuItem.getAction();
        if (act != null) {
          if (act == actionViewSelected) {
            menuItem.setEnabled(enableState);
          } else if (act == actionEditSelected) {
            menuItem.setEnabled(inEditState && enableState);
          } else if (act == actionDeleteSelected) {
            menuItem.setEnabled(inEditState && enableState);
          }
        }
      }
    }
  }
Пример #18
0
 public void selectionChanged(CurveIterator oldSelection, CurveIterator newSelection) {
   put("selection", newSelection);
   final boolean isSelected = newSelection.hasNext();
   final JMenuItem cutItem = (JMenuItem) get("cut");
   final JMenuItem copyItem = (JMenuItem) get("copy");
   cutItem.setEnabled(isSelected);
   copyItem.setEnabled(isSelected);
 }
Пример #19
0
 private void updatePasteEnabled() {
   Object clipboard = get("clipboard");
   boolean canPaste = (clipboard != null) && isRegionToolSelected;
   JMenuItem pasteItem = (JMenuItem) get("paste");
   JMenuItem pasteRefItem = (JMenuItem) get("pasteRef");
   pasteItem.setEnabled(canPaste);
   pasteRefItem.setEnabled(canPaste);
 }
Пример #20
0
 private void updateMenus(boolean flag) {
   numberingItem.setEnabled(flag);
   jpegExportItem.setEnabled(flag);
   saveAsItem.setEnabled(flag);
   groupingItem.setEnabled(flag);
   orderingOffItem.setEnabled(flag);
   orderingOverlapItem.setEnabled(flag);
 }
 private void initMenu() {
   menuSavePanel = diagramWindowManager.getCurrentSavePanel(parentComponent);
   boolean savePanelFocused = menuSavePanel != null;
   selectAllMenu.setEnabled(savePanelFocused);
   selectRelatedMenu.setEnabled(savePanelFocused);
   expandSelectionMenu.setEnabled(savePanelFocused);
   deselectAllMenu.setEnabled(savePanelFocused);
   recalculateDiagramMenuItem.setEnabled(savePanelFocused);
 }
Пример #22
0
 public void setIsGameRunning(boolean isGameRunning) {
     create.setEnabled(! isGameRunning);
     connect.setEnabled(! isGameRunning);
     close.setEnabled(isGameRunning);
     if (! isGameRunning) {
         showDiscard.setEnabled(false);
     }
     save.setEnabled(isGameRunning);
 }
Пример #23
0
  /**
   * Activate/Deactivate the scribblepad layer options.
   *
   * @param enabled true to enable, false to disable.
   */
  public void setScribblePadActive(boolean enabled) {

    if (mnuScribble != null) {
      miShowScribblePad.setEnabled(!enabled);
      miHideScribblePad.setEnabled(enabled);
      miSaveScribblePad.setEnabled(enabled);
      miClearScribblePad.setEnabled(enabled);
    }
  }
Пример #24
0
 private void validateMenu() {
   if (!DemiurgoFacade.getInstance().getService().existRepo()) {
     mCreateIndex.setEnabled(true);
     mDeleteIndex.setEnabled(false);
   } else {
     mCreateIndex.setEnabled(false);
     mDeleteIndex.setEnabled(true);
   }
 }
Пример #25
0
  public ConnectionForm() {
    setContentPane(contentPane);
    setModal(true);
    getRootPane().setDefaultButton(buttonOK);

    JMenuBar menuBar = new JMenuBar();
    menuBar.setVisible(true);

    JMenu menu = new JMenu("Menu");
    menu.setVisible(true);

    JMenuItem statementItem = new JMenuItem("SQL Insert");
    statementItem.setVisible(true);
    statementItem.addActionListener(new SQLImportActionListener());
    statementItem.setEnabled(false);

    JMenuItem importItem = new JMenuItem("Files Import");
    importItem.setEnabled(false);
    importItem.setVisible(true);

    menu.add(statementItem);
    menu.add(importItem);
    menuBar.add(menu);
    setJMenuBar(menuBar);

    buttonOK.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            JFileChooser fileChooser = new JFileChooser();
            fileChooser.setCurrentDirectory(new File(System.getProperty("user.home")));
            int result = fileChooser.showOpenDialog(getParent());
          }
        });

    dbField.addMouseListener(new DBFileMouseListener(getParent()));
    filesField.addMouseListener(new SQLFilesMouseListener(getParent()));

    // call onCancel() when cross is clicked
    setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
    addWindowListener(
        new WindowAdapter() {
          public void windowClosing(WindowEvent e) {
            onCancel();
          }
        });

    // call onCancel() on ESCAPE
    contentPane.registerKeyboardAction(
        new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            onCancel();
          }
        },
        KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0),
        JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
  }
Пример #26
0
        LibraryPopup(Project proj, Library lib, boolean is_top) {
            super(_("libMenu"));
            this.proj = proj;
            this.lib = lib;

            add(unload); unload.addActionListener(this);
            add(reload); reload.addActionListener(this);
            unload.setEnabled(is_top);
            reload.setEnabled(is_top && lib instanceof LoadedLibrary);
        }
Пример #27
0
 void refreshEnabledStatus() {
   if (undo != null) {
     if (undo.canRedo()) {
       redoMenuItem.setEnabled(true);
     }
     if (undo.canUndo()) {
       undoMenuItem.setEnabled(true);
     }
   }
 }
Пример #28
0
 protected void enableEdition(boolean enable) {
   importmi.setEnabled(enable);
   savemi.setEnabled(enable);
   sizesl.setEnabled(enable);
   sizetf.setEnabled(enable);
   colorbt.setEnabled(enable);
   resetbt.setEnabled(enable);
   savebt.setEnabled(enable);
   eraserbt.setEnabled(enable);
 }
 @Override
 public void setProfiler(Profiler profiler) {
   if (profiler != null) {
     profilerWindow = new ProfilerWindow(profiler);
     profilerMenuItem.setEnabled(true);
   } else {
     profilerWindow = null;
     profilerMenuItem.setEnabled(false);
   }
 }
Пример #30
0
 @Override
 public void mouseClicked(MouseEvent e) {
   int clickedIndex = table.getSelectedRow(); // 获取鼠标点击的行数
   if (clickedIndex >= 0) {
     EditSelectAll.setEnabled(true);
     SelectAll.setEnabled(true);
     isTable = true;
     currentfile = tablemodel.getFile(clickedIndex);
     addressText.setText(currentfile.getAbsolutePath()); // 地址栏显示路径
     if (!currentnode.getFile().getName().equals(fsv.getHomeDirectory())) {
       FileDelete.setEnabled(true);
       Delete.setEnabled(true);
     }
   }
   if (e.getClickCount() >= 2) {
     EditSelectAll.setEnabled(true);
     SelectAll.setEnabled(true);
     if (currentfile.isDirectory()) // 当单击的是目录
     {
       try {
         upbtn.setEnabled(true);
         if (!tree.isExpanded(currentPath)) tree.expandPath(currentPath); // 将树中对应的节点打开
         if (currentnode.getChildCount() > 0) {
           for (int i = 0; i < currentnode.getChildCount(); i++) {
             FileTreeNode temp =
                 (FileTreeNode) currentnode.getChildAt(i); // 返回currentNode的子节点数组中指定索引处的子节点。
             if (temp.GetFile()
                 .getPath()
                 .equalsIgnoreCase(currentfile.getPath())) // 判断子节点路径是否等于列表中选的的路径
             {
               TreeNode[] nodes = treemodel.getPathToRoot(temp); // 获取从根节点到 temp的路径
               currentPath = new TreePath(nodes);
               tree.setSelectionPath(currentPath); // 选择子节点的父节点
               break;
             }
           }
         }
       } catch (Exception ee) {
         ee.printStackTrace();
       }
     }
     if (currentfile.isFile()) {
       Runtime ce = Runtime.getRuntime();
       String Temp = new String(currentfile.getAbsolutePath());
       String cmdarray = "cmd /c start " + Temp;
       try {
         ce.exec(cmdarray);
       } catch (IOException e1) {
         e1.printStackTrace();
       }
     }
   } else if (e.getButton() == e.BUTTON3) {
     popup.show(e.getComponent(), e.getX(), e.getY());
   }
 }