⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 basicmenuui.java

📁 gcc的组建
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
      manager.processMouseEvent(e);    }    private boolean popupVisible()    {      JMenuBar mb = (JMenuBar) ((JMenu) menuItem).getParent();      // check if mb.isSelected because if no menus are selected      // we don't have to look through the list for popup menus      if (!mb.isSelected())        return false;      for (int i = 0; i < mb.getMenuCount(); i++)      {         JMenu m = mb.getMenu(i);        if (m != null && m.isPopupMenuVisible())          return true;      }      return false;    }    public void mouseEntered(MouseEvent e)    {      /* When mouse enters menu item, it should be considered selected       if (i) if this menu is a submenu in some other menu          (ii) or if this menu is in a menu bar and some other menu in a           menu bar was just selected and has its popup menu visible.                (If nothing was selected, menu should be pressed before               it will be selected)      */      JMenu menu = (JMenu) menuItem;      // NOTE: the following if used to require !menu.isArmed but I could find      // no reason for this and it was preventing some JDK-compatible behaviour.      // Specifically, if a menu is selected but its popup menu not visible,      // and then another menu is selected whose popup menu IS visible, when      // the mouse is moved over the first menu, its popup menu should become      // visible.      if (! menu.isTopLevelMenu() || popupVisible())        {	  // set new selection and forward this event to MenuSelectionManager	  MenuSelectionManager manager = MenuSelectionManager.defaultManager();	  manager.setSelectedPath(getPath());	  manager.processMouseEvent(e);        }    }    public void mouseExited(MouseEvent e)    {      MenuSelectionManager manager = MenuSelectionManager.defaultManager();      manager.processMouseEvent(e);    }    public void mouseMoved(MouseEvent e)    {      // TODO: What should be done here, if anything?    }    public void mousePressed(MouseEvent e)    {      MenuSelectionManager manager = MenuSelectionManager.defaultManager();      JMenu menu = (JMenu) menuItem;      manager.processMouseEvent(e);      // Menu should be displayed when the menu is pressed only if       // it is top-level menu      if (menu.isTopLevelMenu())        {	  if (menu.getPopupMenu().isVisible())	    // If menu is visible and menu button was pressed.. 	    // then need to cancel the menu	    manager.clearSelectedPath();	  else	    {	      // Display the menu	      int x = 0;	      int y = menu.getHeight();	      manager.setSelectedPath(getPath());	      JMenuBar mb = (JMenuBar) menu.getParent();	      // set selectedIndex of the selectionModel of a menuBar	      mb.getSelectionModel().setSelectedIndex(mb.getComponentIndex(menu));	    }        }    }    public void mouseReleased(MouseEvent e)    {      MenuSelectionManager manager = MenuSelectionManager.defaultManager();      manager.processMouseEvent(e);    }  }  /**   * This class handles MenuEvents fired by the JMenu   */  protected class MenuHandler implements MenuListener  {    /**     * This method is called when menu is cancelled. The menu is cancelled     * when its popup menu is closed without selection. It clears selected index     * in the selectionModel of the menu parent.     *     * @param e The MenuEvent.     */    public void menuCanceled(MenuEvent e)    {      menuDeselected(e);    }    /**     * This method is called when menu is deselected. It clears selected index     * in the selectionModel of the menu parent.     *     * @param e The MenuEvent.     */    public void menuDeselected(MenuEvent e)    {      JMenu menu = (JMenu) menuItem;      if (menu.getParent() != null)        {          if (menu.isTopLevelMenu())            ((JMenuBar) menu.getParent()).getSelectionModel().clearSelection();          else            ((JPopupMenu) menu.getParent()).getSelectionModel().clearSelection();        }    }    /**     * This method is called when menu is selected.  It sets selected index     * in the selectionModel of the menu parent.     *     * @param e The MenuEvent.     */    public void menuSelected(MenuEvent e)    {      JMenu menu = (JMenu) menuItem;      if (menu.isTopLevelMenu())	((JMenuBar) menu.getParent()).setSelected(menu);      else	((JPopupMenu) menu.getParent()).setSelected(menu);    }  }  /**   * This class handles PropertyChangeEvents fired from the JMenu   */  protected class PropertyChangeHandler implements PropertyChangeListener  {    /**      * This method is called whenever one of the properties of the menu item      * changes.      *      * @param e The PropertyChangeEvent.      */    public void propertyChange(PropertyChangeEvent e)    {      // TODO: Implement this properly.    }  }  /**   * @deprecated   */  public class ChangeHandler implements ChangeListener  {    /**     * Not used.     */    public boolean isSelected;    /**     * Not used.     */    public JMenu menu;    /**     * Not used.     */    public BasicMenuUI ui;    /**     * Not used.     */    public Component wasFocused;    /**     * Not used.     */    public ChangeHandler(JMenu m, BasicMenuUI ui)    {      // Not used.    }    /**     * Not used.     */    public void stateChanged(ChangeEvent e)    {      // Not used.    }  }  /**   * This class handles mouse dragged events occuring in the menu.   */  protected class MenuDragMouseHandler implements MenuDragMouseListener  {    /**     * This method is invoked when mouse is dragged over the menu item.     *     * @param e The MenuDragMouseEvent     */    public void menuDragMouseDragged(MenuDragMouseEvent e)    {      MenuSelectionManager manager = MenuSelectionManager.defaultManager();      manager.setSelectedPath(e.getPath());    }    /**     * This method is invoked when mouse enters the menu item while it is     * being dragged.     *     * @param e The MenuDragMouseEvent     */    public void menuDragMouseEntered(MenuDragMouseEvent e)    {      MenuSelectionManager manager = MenuSelectionManager.defaultManager();      manager.setSelectedPath(e.getPath());    }    /**     * This method is invoked when mouse exits the menu item while     * it is being dragged     *     * @param e The MenuDragMouseEvent     */    public void menuDragMouseExited(MenuDragMouseEvent e)    {      // TODO: What should be done here, if anything?    }    /**     * This method is invoked when mouse was dragged and released     * inside the menu item.     *     * @param e The MenuDragMouseEvent     */    public void menuDragMouseReleased(MenuDragMouseEvent e)    {      // TODO: What should be done here, if anything?    }  }  /**   * This class handles key events occuring when menu item is visible on the   * screen.   */  protected class MenuKeyHandler implements MenuKeyListener  {    /**     * This method is invoked when key has been pressed     *     * @param e A {@link MenuKeyEvent}.     */    public void menuKeyPressed(MenuKeyEvent e)    {      // TODO: What should be done here, if anything?    }    /**     * This method is invoked when key has been pressed     *     * @param e A {@link MenuKeyEvent}.     */    public void menuKeyReleased(MenuKeyEvent e)    {      // TODO: What should be done here, if anything?    }    /**     * This method is invoked when key has been typed     * It handles the mnemonic key for the menu item.     *     * @param e A {@link MenuKeyEvent}.     */    public void menuKeyTyped(MenuKeyEvent e)    {      // TODO: What should be done here, if anything?    }  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -