< prev index next >

src/java.desktop/share/classes/javax/swing/JMenuBar.java

Print this page

        

*** 45,58 **** import javax.swing.border.Border; import javax.swing.plaf.*; import javax.accessibility.*; /** ! * An implementation of a menu bar. You add <code>JMenu</code> objects to the ! * menu bar to construct a menu. When the user selects a <code>JMenu</code> ! * object, its associated <code>JPopupMenu</code> is displayed, allowing the ! * user to select one of the <code>JMenuItems</code> on it. * <p> * For information and examples of using menu bars see * <a href="http://docs.oracle.com/javase/tutorial/uiswing/components/menu.html">How to Use Menus</a>, * a section in <em>The Java Tutorial.</em> --- 45,58 ---- import javax.swing.border.Border; import javax.swing.plaf.*; import javax.accessibility.*; /** ! * An implementation of a menu bar. You add {@code JMenu} objects to the ! * menu bar to construct a menu. When the user selects a {@code JMenu} ! * object, its associated {@code JPopupMenu} is displayed, allowing the ! * user to select one of the {@code JMenuItems} on it. * <p> * For information and examples of using menu bars see * <a href="http://docs.oracle.com/javase/tutorial/uiswing/components/menu.html">How to Use Menus</a>, * a section in <em>The Java Tutorial.</em>
*** 66,84 **** * Serialized objects of this class will not be compatible with * future Swing releases. The current serialization support is * appropriate for short term storage or RMI between applications running * the same version of Swing. As of 1.4, support for long term storage * of all JavaBeans&trade; ! * has been added to the <code>java.beans</code> package. * Please see {@link java.beans.XMLEncoder}. * <p> * <strong>Warning:</strong> ! * By default, pressing the Tab key does not transfer focus from a <code> ! * JMenuBar</code> which is added to a container together with other Swing ! * components, because the <code>focusTraversalKeysEnabled</code> property ! * of <code>JMenuBar</code> is set to <code>false</code>. To resolve this, ! * you should call the <code>JMenuBar.setFocusTraversalKeysEnabled(true)</code> * method. * @beaninfo * attribute: isContainer true * description: A container for holding and displaying menus. * --- 66,84 ---- * Serialized objects of this class will not be compatible with * future Swing releases. The current serialization support is * appropriate for short term storage or RMI between applications running * the same version of Swing. As of 1.4, support for long term storage * of all JavaBeans&trade; ! * has been added to the {@code java.beans} package. * Please see {@link java.beans.XMLEncoder}. * <p> * <strong>Warning:</strong> ! * By default, pressing the Tab key does not transfer focus from a ! * {@code JMenuBar} which is added to a container together with other Swing ! * components, because the {@code focusTraversalKeysEnabled} property ! * of {@code JMenuBar} is set to {@code false}. To resolve this, ! * you should call the {@code JMenuBar.setFocusTraversalKeysEnabled(true)} * method. * @beaninfo * attribute: isContainer true * description: A container for holding and displaying menus. *
*** 170,190 **** /** * Returns the model object that handles single selections. * ! * @return the <code>SingleSelectionModel</code> property * @see SingleSelectionModel */ public SingleSelectionModel getSelectionModel() { return selectionModel; } /** * Sets the model object to handle single selections. * ! * @param model the <code>SingleSelectionModel</code> to use * @see SingleSelectionModel * @beaninfo * bound: true * description: The selection model, recording which child is selected. */ --- 170,190 ---- /** * Returns the model object that handles single selections. * ! * @return the {@code SingleSelectionModel} property * @see SingleSelectionModel */ public SingleSelectionModel getSelectionModel() { return selectionModel; } /** * Sets the model object to handle single selections. * ! * @param model the {@code SingleSelectionModel} to use * @see SingleSelectionModel * @beaninfo * bound: true * description: The selection model, recording which child is selected. */
*** 196,206 **** /** * Appends the specified menu to the end of the menu bar. * ! * @param c the <code>JMenu</code> component to add * @return the menu component */ public JMenu add(JMenu c) { super.add(c); return c; --- 196,206 ---- /** * Appends the specified menu to the end of the menu bar. * ! * @param c the {@code JMenu} component to add * @return the menu component */ public JMenu add(JMenu c) { super.add(c); return c;
*** 209,221 **** /** * Returns the menu at the specified position in the menu bar. * * @param index an integer giving the position in the menu bar, where * 0 is the first position ! * @return the <code>JMenu</code> at that position, or <code>null</code> if ! * if there is no <code>JMenu</code> at that position (ie. if ! * it is a <code>JMenuItem</code>) */ public JMenu getMenu(int index) { Component c = getComponentAtIndex(index); if (c instanceof JMenu) return (JMenu) c; --- 209,221 ---- /** * Returns the menu at the specified position in the menu bar. * * @param index an integer giving the position in the menu bar, where * 0 is the first position ! * @return the {@code JMenu} at that position, or {@code null} if ! * if there is no {@code JMenu} at that position (ie. if ! * it is a {@code JMenuItem}) */ public JMenu getMenu(int index) { Component c = getComponentAtIndex(index); if (c instanceof JMenu) return (JMenu) c;
*** 244,267 **** /** * Gets the help menu for the menu bar. This method is not yet * implemented and will throw an exception. * ! * @return the <code>JMenu</code> that delivers help to the user */ @Transient public JMenu getHelpMenu() { throw new Error("getHelpMenu() not yet implemented."); } /** * Returns the component at the specified index. * * @param i an integer specifying the position, where 0 is first ! * @return the <code>Component</code> at the position, ! * or <code>null</code> for an invalid index ! * @deprecated replaced by <code>getComponent(int i)</code> */ @Deprecated public Component getComponentAtIndex(int i) { if(i < 0 || i >= getComponentCount()) { return null; --- 244,267 ---- /** * Gets the help menu for the menu bar. This method is not yet * implemented and will throw an exception. * ! * @return the {@code JMenu} that delivers help to the user */ @Transient public JMenu getHelpMenu() { throw new Error("getHelpMenu() not yet implemented."); } /** * Returns the component at the specified index. * * @param i an integer specifying the position, where 0 is first ! * @return the {@code Component} at the position, ! * or {@code null} for an invalid index ! * @deprecated replaced by {@code getComponent(int i)} */ @Deprecated public Component getComponentAtIndex(int i) { if(i < 0 || i >= getComponentCount()) { return null;
*** 270,280 **** } /** * Returns the index of the specified component. * ! * @param c the <code>Component</code> to find * @return an integer giving the component's position, where 0 is first; * or -1 if it can't be found */ public int getComponentIndex(Component c) { int ncomponents = this.getComponentCount(); --- 270,280 ---- } /** * Returns the index of the specified component. * ! * @param c the {@code Component} to find * @return an integer giving the component's position, where 0 is first; * or -1 if it can't be found */ public int getComponentIndex(Component c) { int ncomponents = this.getComponentCount();
*** 289,299 **** /** * Sets the currently selected component, producing a * a change to the selection model. * ! * @param sel the <code>Component</code> to select */ public void setSelected(Component sel) { SingleSelectionModel model = getSelectionModel(); int index = getComponentIndex(sel); model.setSelectedIndex(index); --- 289,299 ---- /** * Sets the currently selected component, producing a * a change to the selection model. * ! * @param sel the {@code Component} to select */ public void setSelected(Component sel) { SingleSelectionModel model = getSelectionModel(); int index = getComponentIndex(sel); model.setSelectedIndex(index);
*** 318,328 **** } /** * Sets whether the border should be painted. * ! * @param b if true and border property is not <code>null</code>, * the border is painted. * @see #isBorderPainted * @beaninfo * bound: true * attribute: visualUpdate true --- 318,328 ---- } /** * Sets whether the border should be painted. * ! * @param b if true and border property is not {@code null}, * the border is painted. * @see #isBorderPainted * @beaninfo * bound: true * attribute: visualUpdate true
*** 337,350 **** repaint(); } } /** ! * Paints the menubar's border if <code>BorderPainted</code> * property is true. * ! * @param g the <code>Graphics</code> context to use for painting * @see JComponent#paint * @see JComponent#setBorder */ protected void paintBorder(Graphics g) { if (isBorderPainted()) { --- 337,350 ---- repaint(); } } /** ! * Paints the menubar's border if {@code BorderPainted} * property is true. * ! * @param g the {@code Graphics} context to use for painting * @see JComponent#paint * @see JComponent#setBorder */ protected void paintBorder(Graphics g) { if (isBorderPainted()) {
*** 352,362 **** } } /** * Sets the margin between the menubar's border and ! * its menus. Setting to <code>null</code> will cause the menubar to * use the default margins. * * @param m an Insets object containing the margin values * @see Insets * @beaninfo --- 352,362 ---- } } /** * Sets the margin between the menubar's border and ! * its menus. Setting to {@code null} will cause the menubar to * use the default margins. * * @param m an Insets object containing the margin values * @see Insets * @beaninfo
*** 377,387 **** /** * Returns the margin between the menubar's border and * its menus. If there is no previous margin, it will create * a default margin with zero size. * ! * @return an <code>Insets</code> object containing the margin values * @see Insets */ public Insets getMargin() { if(margin == null) { return new Insets(0,0,0,0); --- 377,387 ---- /** * Returns the margin between the menubar's border and * its menus. If there is no previous margin, it will create * a default margin with zero size. * ! * @return an {@code Insets} object containing the margin values * @see Insets */ public Insets getMargin() { if(margin == null) { return new Insets(0,0,0,0);
*** 390,426 **** } } /** ! * Implemented to be a <code>MenuElement</code> -- does nothing. * * @see #getSubElements */ public void processMouseEvent(MouseEvent event,MenuElement path[],MenuSelectionManager manager) { } /** ! * Implemented to be a <code>MenuElement</code> -- does nothing. * * @see #getSubElements */ public void processKeyEvent(KeyEvent e,MenuElement path[],MenuSelectionManager manager) { } /** ! * Implemented to be a <code>MenuElement</code> -- does nothing. * * @see #getSubElements */ public void menuSelectionChanged(boolean isIncluded) { } /** ! * Implemented to be a <code>MenuElement</code> -- returns the * menus in this menu bar. ! * This is the reason for implementing the <code>MenuElement</code> * interface -- so that the menu bar can be treated the same as * other menu elements. * @return an array of menu items in the menu bar. */ public MenuElement[] getSubElements() { --- 390,426 ---- } } /** ! * Implemented to be a {@code MenuElement} -- does nothing. * * @see #getSubElements */ public void processMouseEvent(MouseEvent event,MenuElement path[],MenuSelectionManager manager) { } /** ! * Implemented to be a {@code MenuElement} -- does nothing. * * @see #getSubElements */ public void processKeyEvent(KeyEvent e,MenuElement path[],MenuSelectionManager manager) { } /** ! * Implemented to be a {@code MenuElement} -- does nothing. * * @see #getSubElements */ public void menuSelectionChanged(boolean isIncluded) { } /** ! * Implemented to be a {@code MenuElement} -- returns the * menus in this menu bar. ! * This is the reason for implementing the {@code MenuElement} * interface -- so that the menu bar can be treated the same as * other menu elements. * @return an array of menu items in the menu bar. */ public MenuElement[] getSubElements() {
*** 441,469 **** result[i] = tmp.elementAt(i); return result; } /** ! * Implemented to be a <code>MenuElement</code>. Returns this object. * ! * @return the current <code>Component</code> (this) * @see #getSubElements */ public Component getComponent() { return this; } /** ! * Returns a string representation of this <code>JMenuBar</code>. * This method * is intended to be used only for debugging purposes, and the * content and format of the returned string may vary between * implementations. The returned string may be empty but may not ! * be <code>null</code>. * ! * @return a string representation of this <code>JMenuBar</code> */ protected String paramString() { String paintBorderString = (paintBorder ? "true" : "false"); String marginString = (margin != null ? --- 441,469 ---- result[i] = tmp.elementAt(i); return result; } /** ! * Implemented to be a {@code MenuElement}. Returns this object. * ! * @return the current {@code Component} (this) * @see #getSubElements */ public Component getComponent() { return this; } /** ! * Returns a string representation of this {@code JMenuBar}. * This method * is intended to be used only for debugging purposes, and the * content and format of the returned string may vary between * implementations. The returned string may be empty but may not ! * be {@code null}. * ! * @return a string representation of this {@code JMenuBar} */ protected String paramString() { String paintBorderString = (paintBorder ? "true" : "false"); String marginString = (margin != null ?
*** 494,514 **** return accessibleContext; } /** * This class implements accessibility support for the ! * <code>JMenuBar</code> class. It provides an implementation of the * Java Accessibility API appropriate to menu bar user-interface * elements. * <p> * <strong>Warning:</strong> * Serialized objects of this class will not be compatible with * future Swing releases. The current serialization support is * appropriate for short term storage or RMI between applications running * the same version of Swing. As of 1.4, support for long term storage * of all JavaBeans&trade; ! * has been added to the <code>java.beans</code> package. * Please see {@link java.beans.XMLEncoder}. */ @SuppressWarnings("serial") protected class AccessibleJMenuBar extends AccessibleJComponent implements AccessibleSelection { --- 494,514 ---- return accessibleContext; } /** * This class implements accessibility support for the ! * {@code JMenuBar} class. It provides an implementation of the * Java Accessibility API appropriate to menu bar user-interface * elements. * <p> * <strong>Warning:</strong> * Serialized objects of this class will not be compatible with * future Swing releases. The current serialization support is * appropriate for short term storage or RMI between applications running * the same version of Swing. As of 1.4, support for long term storage * of all JavaBeans&trade; ! * has been added to the {@code java.beans} package. * Please see {@link java.beans.XMLEncoder}. */ @SuppressWarnings("serial") protected class AccessibleJMenuBar extends AccessibleJComponent implements AccessibleSelection {
*** 713,732 **** } return false; } /** ! * Overrides <code>JComponent.addNotify</code> to register this * menu bar with the current keyboard manager. */ public void addNotify() { super.addNotify(); KeyboardManager.getCurrentManager().registerMenuBar(this); } /** ! * Overrides <code>JComponent.removeNotify</code> to unregister this * menu bar with the current keyboard manager. */ public void removeNotify() { super.removeNotify(); KeyboardManager.getCurrentManager().unregisterMenuBar(this); --- 713,732 ---- } return false; } /** ! * Overrides {@code JComponent.addNotify} to register this * menu bar with the current keyboard manager. */ public void addNotify() { super.addNotify(); KeyboardManager.getCurrentManager().registerMenuBar(this); } /** ! * Overrides {@code JComponent.removeNotify} to unregister this * menu bar with the current keyboard manager. */ public void removeNotify() { super.removeNotify(); KeyboardManager.getCurrentManager().unregisterMenuBar(this);
< prev index next >