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

📄 jmenubar.java

📁 gcc的组建
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
  public JMenu getMenu(int index)  {    if (getComponentAtIndex(index) instanceof JMenu)      return (JMenu) getComponentAtIndex(index);    else      return null;  }  /**   * Returns number of menu's in this menu bar   *   * @return number of menu's in this menu bar   */  public int getMenuCount()  {    return getComponentCount();  }  /**   * Returns selection model for this menu bar. SelectionModel   * keeps track of the selected menu in the menu bar. Whenever   * selected property of selectionModel changes, the ChangeEvent   * will be fired its ChangeListeners.   *   * @return selection model for this menu bar.   */  public SingleSelectionModel getSelectionModel()  {    return selectionModel;  }  /**   * Method of MenuElement interface. It returns subcomponents   * of the menu bar, which are all the menues that it contains.   *   * @return MenuElement[] array containing menues in this menu bar   */  public MenuElement[] getSubElements()  {    MenuElement[] subElements = new MenuElement[getComponentCount()];    for (int i = 0; i < getComponentCount(); i++)      subElements[i] = (MenuElement) getMenu(i);    return subElements;  }  /**    * Set the "UI" property of the menu bar, which is a look and feel class    * responsible for handling the menuBar's input events and painting it.    *    * @return The current "UI" property    */  public MenuBarUI getUI()  {    return (MenuBarUI) ui;  }  /**   * This method returns a name to identify which look and feel class will be   * the UI delegate for the menu bar.   *   * @return The Look and Feel classID. "MenuBarUI"   */  public String getUIClassID()  {    return "MenuBarUI";  }  /**   * Returns true if menu bar paints its border and false otherwise   *   * @return true if menu bar paints its border and false otherwise   */  public boolean isBorderPainted()  {    return borderPainted;  }  /**   * Returns true if some menu in menu bar is selected.   *   * @return true if some menu in menu bar is selected and false otherwise   */  public boolean isSelected()  {    return selectionModel.isSelected();  }  /**   * This method does nothing by default. This method is need for the   * MenuElement interface to be implemented.   *   * @param isIncluded true if menuBar is included in the selection   * and false otherwise   */  public void menuSelectionChanged(boolean isIncluded)  {    // Do nothing - needed for implementation of MenuElement interface  }  /**   * Paints border of the menu bar, if its borderPainted property is set to   * true.   *   * @param g The graphics context with which to paint the border   */  protected void paintBorder(Graphics g)  {    if (borderPainted)      getBorder().paintBorder(this, g, 0, 0, getSize(null).width,                              getSize(null).height);  }  /**   * A string that describes this JMenuBar. Normally only used   * for debugging.   *   * @return A string describing this JMenuBar   */  protected String paramString()  {    StringBuffer sb = new StringBuffer();    sb.append(super.paramString());    sb.append(",margin=");    if (getMargin() != null)      sb.append(getMargin());    sb.append(",paintBorder=").append(isBorderPainted());    return sb.toString();  }  /**   * Process key events forwarded from MenuSelectionManager. This method   * doesn't do anything. It is here to conform to the MenuElement interface.   *   * @param e event forwarded from MenuSelectionManager   * @param path path to the menu element from which event was generated   * @param manager MenuSelectionManager for the current menu hierarchy   *   */  public void processKeyEvent(KeyEvent e, MenuElement[] path,                              MenuSelectionManager manager)  {    // Do nothing - needed for implementation of MenuElement interface  }  /**   * This method overrides JComponent.processKeyBinding to allow the    * JMenuBar to check all the child components (recursiveley) to see    * if they'll consume the event.   *    * @param ks the KeyStroke for the event   * @param e the KeyEvent for the event   * @param condition the focus condition for the binding   * @param pressed true if the key is pressed    */  protected boolean processKeyBinding(KeyStroke ks, KeyEvent e, int condition,                                      boolean pressed)  {    // See if the regular JComponent behavior consumes the event    if (super.processKeyBinding(ks, e, condition, pressed))      return true;        // If not, have to recursively check all the child menu elements to see     // if they want it        MenuElement[] children = getSubElements();    for (int i = 0; i < children.length; i++)      if (processKeyBindingHelper(children[i], ks, e, condition, pressed))        return true;    return false;  }    /**   * This is a helper method to recursively check the children of this   * JMenuBar to see if they will consume a key event via key bindings.     * This is used for menu accelerators.   * @param menuElement the menuElement to check (and check all its children)   * @param ks the KeyStroke for the event   * @param e the KeyEvent that may be consumed   * @param condition the focus condition for the binding   * @param pressed true if the key was pressed   * @return true <code>menuElement</code> or one of its children consume   * the event (processKeyBinding returns true for menuElement or one of   * its children).   */  static boolean processKeyBindingHelper(MenuElement menuElement, KeyStroke ks,                                         KeyEvent e, int condition,                                         boolean pressed)  {    // First check the menuElement itself, if it's a JComponent    if (menuElement instanceof JComponent        && ((JComponent) menuElement).processKeyBinding(ks, e, condition,                                                        pressed))      return true;        // If that didn't consume it, check all the children recursively    MenuElement[] children = menuElement.getSubElements();    for (int i = 0; i < children.length; i++)      if (processKeyBindingHelper(children[i], ks, e, condition, pressed))        return true;    return false;  }    /**   * Process mouse events forwarded from MenuSelectionManager. This method   * doesn't do anything. It is here to conform to the MenuElement interface.   *   * @param event event forwarded from MenuSelectionManager   * @param path path to the menu element from which event was generated   * @param manager MenuSelectionManager for the current menu hierarchy   *   */  public void processMouseEvent(MouseEvent event, MenuElement[] path,                                MenuSelectionManager manager)  {    // Do nothing - needed for implementation of MenuElement interface  }  /**   * This method overrides removeNotify() in the Container to   * unregister this menu bar from the current keyboard manager.   */  public void removeNotify()  {    KeyboardManager.getManager().unregisterJMenuBar(this);    super.removeNotify();  }  /**   * Sets painting status of the border. If 'b' is true then menu bar's   * border will be painted, and it will not be painted otherwise.   *   * @param b indicates if menu bar's border should be painted.   */  public void setBorderPainted(boolean b)  {    if (b != borderPainted)      {	boolean old = borderPainted;	borderPainted = b;	firePropertyChange("borderPainted", old, b);	revalidate();	repaint();      }  }  /**   * Sets help menu for this menu bar   *   * @param menu help menu   *   * @specnote The specification states that this method is not yet implemented   *           and should throw an exception.   */  public void setHelpMenu(JMenu menu)  {    // We throw an Error here, just as Sun's JDK does.    throw new Error("setHelpMenu() not yet implemented.");  }  /**   * Sets the menu bar's "margin" bound property,  which represents   * distance between the menubar's border and its menus.   * icon. When marging property is modified, PropertyChangeEvent will   * be fired to menuBar's PropertyChangeListener's.   *   * @param m distance between the menubar's border and its menus.   *   */  public void setMargin(Insets m)  {    if (m != margin)      {	Insets oldMargin = margin;	margin = m;	firePropertyChange("margin", oldMargin, margin);      }  }  /**   * Changes menu bar's selection to the specified menu.   * This method updates selected index of menu bar's selection model,   * which results in a model firing change event.   *   * @param sel menu to select   */  public void setSelected(Component sel)  {    int index = getComponentIndex(sel);    selectionModel.setSelectedIndex(index);  }  /**   * Sets menuBar's selection model to the one specified   *   * @param model SingleSelectionModel that needs to be set for this menu bar   */  public void setSelectionModel(SingleSelectionModel model)  {    if (selectionModel != model)      {	SingleSelectionModel oldModel = selectionModel;	selectionModel = model;	firePropertyChange("model", oldModel, selectionModel);      }  }  /**   * Set the "UI" property of the menu bar, which is a look and feel class   * responsible for handling menuBar's input events and painting it.   *   * @param ui The new "UI" property   */  public void setUI(MenuBarUI ui)  {    super.setUI(ui);  }  /**   * Set the "UI" property to a class constructed, via the {@link   * UIManager}, from the current look and feel.   */  public void updateUI()  {    setUI((MenuBarUI) UIManager.getUI(this));    invalidate();  }}

⌨️ 快捷键说明

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