📄 jmenuitem.java
字号:
} break; case MouseEvent.MOUSE_RELEASED: break; case MouseEvent.MOUSE_MOVED: break; case MouseEvent.MOUSE_DRAGGED: break; } } /** * Creates MenuDragMouseEvent. * * @param event MouseEvent that occured while mouse was pressed. * @param path Path the the menu element where the dragging event was * originated * @param manager MenuSelectionManager for the current menu hierarchy. * * @return new MenuDragMouseEvent */ private MenuDragMouseEvent createMenuDragMouseEvent(MouseEvent event, MenuElement[] path, MenuSelectionManager manager) { return new MenuDragMouseEvent((Component) event.getSource(), event.getID(), event.getWhen(), event.getModifiers(), event.getX(), event.getY(), event.getClickCount(), event.isPopupTrigger(), path, manager); } /** * Process key events forwarded from MenuSelectionManager. * * @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 processKeyEvent(KeyEvent event, MenuElement[] path, MenuSelectionManager manager) { // Need to implement. } /** * This method fires MenuDragMouseEvents to registered listeners. * Different types of MenuDragMouseEvents are fired depending * on the observed mouse event. * * @param event Mouse */ public void processMenuDragMouseEvent(MenuDragMouseEvent event) { switch (event.getID()) { case MouseEvent.MOUSE_ENTERED: fireMenuDragMouseEntered(event); break; case MouseEvent.MOUSE_EXITED: fireMenuDragMouseExited(event); break; case MouseEvent.MOUSE_DRAGGED: fireMenuDragMouseDragged(event); break; case MouseEvent.MOUSE_RELEASED: fireMenuDragMouseReleased(event); break; } } /** * This method fires MenuKeyEvent to registered listeners. * Different types of MenuKeyEvents are fired depending * on the observed key event. * * @param event DOCUMENT ME! */ public void processMenuKeyEvent(MenuKeyEvent event) { // Need to implement. } /** * Fires MenuDragMouseEvent to all of the menuItem's MouseInputListeners. * * @param event The event signifying that mouse entered menuItem while it was dragged */ protected void fireMenuDragMouseEntered(MenuDragMouseEvent event) { EventListener[] ll = listenerList.getListeners(MenuDragMouseListener.class); for (int i = 0; i < ll.length; i++) ((MenuDragMouseListener) ll[i]).menuDragMouseEntered(event); } /** * Fires MenuDragMouseEvent to all of the menuItem's MouseInputListeners. * * @param event The event signifying that mouse has exited menu item, while it was dragged */ protected void fireMenuDragMouseExited(MenuDragMouseEvent event) { EventListener[] ll = listenerList.getListeners(MenuDragMouseListener.class); for (int i = 0; i < ll.length; i++) ((MenuDragMouseListener) ll[i]).menuDragMouseExited(event); } /** * Fires MenuDragMouseEvent to all of the menuItem's MouseInputListeners. * * @param event The event signifying that mouse is being dragged over the menuItem */ protected void fireMenuDragMouseDragged(MenuDragMouseEvent event) { EventListener[] ll = listenerList.getListeners(MenuDragMouseListener.class); for (int i = 0; i < ll.length; i++) ((MenuDragMouseListener) ll[i]).menuDragMouseDragged(event); } /** * This method fires a MenuDragMouseEvent to all the MenuItem's MouseInputListeners. * * @param event The event signifying that mouse was released while it was dragged over the menuItem */ protected void fireMenuDragMouseReleased(MenuDragMouseEvent event) { EventListener[] ll = listenerList.getListeners(MenuDragMouseListener.class); for (int i = 0; i < ll.length; i++) ((MenuDragMouseListener) ll[i]).menuDragMouseReleased(event); } /** * This method fires a MenuKeyEvent to all the MenuItem's MenuKeyListeners. * * @param event The event signifying that key associated with this menu was pressed */ protected void fireMenuKeyPressed(MenuKeyEvent event) { EventListener[] ll = listenerList.getListeners(MenuKeyListener.class); for (int i = 0; i < ll.length; i++) ((MenuKeyListener) ll[i]).menuKeyPressed(event); } /** * This method fires a MenuKeyEvent to all the MenuItem's MenuKeyListeners. * * @param event The event signifying that key associated with this menu was released */ protected void fireMenuKeyReleased(MenuKeyEvent event) { EventListener[] ll = listenerList.getListeners(MenuKeyListener.class); for (int i = 0; i < ll.length; i++) ((MenuKeyListener) ll[i]).menuKeyTyped(event); } /** * This method fires a MenuKeyEvent to all the MenuItem's MenuKeyListeners. * * @param event The event signifying that key associated with this menu was typed. * The key is typed when it was pressed and then released */ protected void fireMenuKeyTyped(MenuKeyEvent event) { EventListener[] ll = listenerList.getListeners(MenuKeyListener.class); for (int i = 0; i < ll.length; i++) ((MenuKeyListener) ll[i]).menuKeyTyped(event); } /** * Method of the MenuElement interface. * This method is invoked by MenuSelectionManager when selection of * this menu item has changed. If this menu item was selected then * arm it's model, and disarm the model otherwise. The menu item * is considered to be selected, and thus highlighted when its model * is armed. * * @param changed indicates selection status of this menu item. If changed is * true then menu item is selected and deselected otherwise. */ public void menuSelectionChanged(boolean changed) { Component parent = this.getParent(); if (changed) { model.setArmed(true); if (parent != null && parent instanceof JPopupMenu) ((JPopupMenu) parent).setSelected(this); } else { model.setArmed(false); if (parent != null && parent instanceof JPopupMenu) ((JPopupMenu) parent).getSelectionModel().clearSelection(); } } /** * Method of the MenuElement interface. * * @return $MenuElement[]$ Returns array of sub-components for this menu * item. By default menuItem doesn't have any subcomponents and so * empty array is returned instead. */ public MenuElement[] getSubElements() { return new MenuElement[0]; } /** * Returns reference to the component that will paint this menu item. * * @return $Component$ Component that will paint this menu item. * Simply returns reference to this menu item. */ public Component getComponent() { return this; } /** * Adds a MenuDragMouseListener to this menu item. When mouse * is dragged over the menu item the MenuDragMouseEvents will be * fired, and these listeners will be called. * * @param listener The new listener to add */ public void addMenuDragMouseListener(MenuDragMouseListener listener) { listenerList.add(MenuDragMouseListener.class, listener); } /** * Removes a MenuDragMouseListener from the menuItem's listener list. * * @param listener The listener to remove */ public void removeMenuDragMouseListener(MenuDragMouseListener listener) { listenerList.remove(MenuDragMouseListener.class, listener); } /** * Returns all added MenuDragMouseListener objects. * * @return an array of listeners * * @since 1.4 */ public MenuDragMouseListener[] getMenuDragMouseListeners() { return (MenuDragMouseListener[]) listenerList.getListeners(MenuDragMouseListener.class); } /** * Adds an MenuKeyListener to this menu item. This listener will be * invoked when MenuKeyEvents will be fired by this menu item. * * @param listener The new listener to add */ public void addMenuKeyListener(MenuKeyListener listener) { listenerList.add(MenuKeyListener.class, listener); } /** * Removes an MenuKeyListener from the menuItem's listener list. * * @param listener The listener to remove */ public void removeMenuKeyListener(MenuKeyListener listener) { listenerList.remove(MenuKeyListener.class, listener); } /** * Returns all added MenuKeyListener objects. * * @return an array of listeners * * @since 1.4 */ public MenuKeyListener[] getMenuKeyListeners() { return (MenuKeyListener[]) listenerList.getListeners(MenuKeyListener.class); } /** * A string that describes this JMenuItem. Normally only used * for debugging. * * @return A string describing this JMenuItem */ protected String paramString() { return super.paramString(); } public AccessibleContext getAccessibleContext() { if (accessibleContext == null) accessibleContext = new AccessibleJMenuItem(); return accessibleContext; } protected class AccessibleJMenuItem extends AccessibleAbstractButton implements ChangeListener { private static final long serialVersionUID = 6748924232082076534L; /** * Creates a new AccessibleJMenuItem object. */ AccessibleJMenuItem() { //super(component); } public void stateChanged(ChangeEvent event) { // TODO: What should be done here, if anything? } public AccessibleRole getAccessibleRole() { return AccessibleRole.MENU_ITEM; } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -