< prev index next >

src/java.desktop/share/classes/java/awt/Button.java

Print this page

        

*** 34,44 **** import javax.accessibility.*; /** * This class creates a labeled button. The application can cause * some action to happen when the button is pushed. This image ! * depicts three views of a "<code>Quit</code>" button as it appears * under the Solaris operating system: * <p> * <img src="doc-files/Button-1.gif" alt="The following context describes the graphic" * style="float:center; margin: 7px 10px;"> * <p> --- 34,44 ---- import javax.accessibility.*; /** * This class creates a labeled button. The application can cause * some action to happen when the button is pushed. This image ! * depicts three views of a "{@code Quit}" button as it appears * under the Solaris operating system: * <p> * <img src="doc-files/Button-1.gif" alt="The following context describes the graphic" * style="float:center; margin: 7px 10px;"> * <p>
*** 48,82 **** * user know that it is an active object. The third view shows the * button when the user clicks the mouse over the button, and thus * requests that an action be performed. * <p> * The gesture of clicking on a button with the mouse ! * is associated with one instance of <code>ActionEvent</code>, * which is sent out when the mouse is both pressed and released * over the button. If an application is interested in knowing * when the button has been pressed but not released, as a separate ! * gesture, it can specialize <code>processMouseEvent</code>, * or it can register itself as a listener for mouse events by ! * calling <code>addMouseListener</code>. Both of these methods are ! * defined by <code>Component</code>, the abstract superclass of * all components. * <p> * When a button is pressed and released, AWT sends an instance ! * of <code>ActionEvent</code> to the button, by calling ! * <code>processEvent</code> on the button. The button's ! * <code>processEvent</code> method receives all events * for the button; it passes an action event along by ! * calling its own <code>processActionEvent</code> method. * The latter method passes the action event on to any action * listeners that have registered an interest in action * events generated by this button. * <p> * If an application wants to perform some action based on * a button being pressed and released, it should implement ! * <code>ActionListener</code> and register the new listener * to receive events from this button, by calling the button's ! * <code>addActionListener</code> method. The application can * make use of the button's action command as a messaging protocol. * * @author Sami Shaio * @see java.awt.event.ActionEvent * @see java.awt.event.ActionListener --- 48,82 ---- * user know that it is an active object. The third view shows the * button when the user clicks the mouse over the button, and thus * requests that an action be performed. * <p> * The gesture of clicking on a button with the mouse ! * is associated with one instance of {@code ActionEvent}, * which is sent out when the mouse is both pressed and released * over the button. If an application is interested in knowing * when the button has been pressed but not released, as a separate ! * gesture, it can specialize {@code processMouseEvent}, * or it can register itself as a listener for mouse events by ! * calling {@code addMouseListener}. Both of these methods are ! * defined by {@code Component}, the abstract superclass of * all components. * <p> * When a button is pressed and released, AWT sends an instance ! * of {@code ActionEvent} to the button, by calling ! * {@code processEvent} on the button. The button's ! * {@code processEvent} method receives all events * for the button; it passes an action event along by ! * calling its own {@code processActionEvent} method. * The latter method passes the action event on to any action * listeners that have registered an interest in action * events generated by this button. * <p> * If an application wants to perform some action based on * a button being pressed and released, it should implement ! * {@code ActionListener} and register the new listener * to receive events from this button, by calling the button's ! * {@code addActionListener} method. The application can * make use of the button's action command as a messaging protocol. * * @author Sami Shaio * @see java.awt.event.ActionEvent * @see java.awt.event.ActionListener
*** 141,151 **** /** * Constructs a button with the specified label. * * @param label a string label for the button, or ! * <code>null</code> for no label * @exception HeadlessException if GraphicsEnvironment.isHeadless() * returns true * @see java.awt.GraphicsEnvironment#isHeadless */ public Button(String label) throws HeadlessException { --- 141,151 ---- /** * Constructs a button with the specified label. * * @param label a string label for the button, or ! * {@code null} for no label * @exception HeadlessException if GraphicsEnvironment.isHeadless() * returns true * @see java.awt.GraphicsEnvironment#isHeadless */ public Button(String label) throws HeadlessException {
*** 179,200 **** } /** * Gets the label of this button. * ! * @return the button's label, or <code>null</code> * if the button has no label. * @see java.awt.Button#setLabel */ public String getLabel() { return label; } /** * Sets the button's label to be the specified string. * ! * @param label the new label, or <code>null</code> * if the button has no label. * @see java.awt.Button#getLabel */ public void setLabel(String label) { boolean testvalid = false; --- 179,200 ---- } /** * Gets the label of this button. * ! * @return the button's label, or {@code null} * if the button has no label. * @see java.awt.Button#setLabel */ public String getLabel() { return label; } /** * Sets the button's label to be the specified string. * ! * @param label the new label, or {@code null} * if the button has no label. * @see java.awt.Button#getLabel */ public void setLabel(String label) { boolean testvalid = false;
*** 222,243 **** * by this button. By default this action command is * set to match the label of the button. * * @param command a string used to set the button's * action command. ! * If the string is <code>null</code> then the action command * is set to match the label of the button. * @see java.awt.event.ActionEvent * @since 1.1 */ public void setActionCommand(String command) { actionCommand = command; } /** * Returns the command name of the action event fired by this button. ! * If the command name is <code>null</code> (default) then this method * returns the label of the button. * * @return the action command name (or label) for this button */ public String getActionCommand() { --- 222,243 ---- * by this button. By default this action command is * set to match the label of the button. * * @param command a string used to set the button's * action command. ! * If the string is {@code null} then the action command * is set to match the label of the button. * @see java.awt.event.ActionEvent * @since 1.1 */ public void setActionCommand(String command) { actionCommand = command; } /** * Returns the command name of the action event fired by this button. ! * If the command name is {@code null} (default) then this method * returns the label of the button. * * @return the action command name (or label) for this button */ public String getActionCommand() {
*** 289,299 **** /** * Returns an array of all the action listeners * registered on this button. * ! * @return all of this button's <code>ActionListener</code>s * or an empty array if no action * listeners are currently registered * * @see #addActionListener * @see #removeActionListener --- 289,299 ---- /** * Returns an array of all the action listeners * registered on this button. * ! * @return all of this button's {@code ActionListener}s * or an empty array if no action * listeners are currently registered * * @see #addActionListener * @see #removeActionListener
*** 305,340 **** } /** * Returns an array of all the objects currently registered * as <code><em>Foo</em>Listener</code>s ! * upon this <code>Button</code>. * <code><em>Foo</em>Listener</code>s are registered using the * <code>add<em>Foo</em>Listener</code> method. * * <p> ! * You can specify the <code>listenerType</code> argument * with a class literal, such as * <code><em>Foo</em>Listener.class</code>. * For example, you can query a ! * <code>Button</code> <code>b</code> * for its action listeners with the following code: * * <pre>ActionListener[] als = (ActionListener[])(b.getListeners(ActionListener.class));</pre> * * If no such listeners exist, this method returns an empty array. * * @param listenerType the type of listeners requested; this parameter * should specify an interface that descends from ! * <code>java.util.EventListener</code> * @return an array of all objects registered as * <code><em>Foo</em>Listener</code>s on this button, * or an empty array if no such * listeners have been added ! * @exception ClassCastException if <code>listenerType</code> * doesn't specify a class or interface that implements ! * <code>java.util.EventListener</code> * * @see #getActionListeners * @since 1.3 */ public <T extends EventListener> T[] getListeners(Class<T> listenerType) { --- 305,340 ---- } /** * Returns an array of all the objects currently registered * as <code><em>Foo</em>Listener</code>s ! * upon this {@code Button}. * <code><em>Foo</em>Listener</code>s are registered using the * <code>add<em>Foo</em>Listener</code> method. * * <p> ! * You can specify the {@code listenerType} argument * with a class literal, such as * <code><em>Foo</em>Listener.class</code>. * For example, you can query a ! * {@code Button b} * for its action listeners with the following code: * * <pre>ActionListener[] als = (ActionListener[])(b.getListeners(ActionListener.class));</pre> * * If no such listeners exist, this method returns an empty array. * * @param listenerType the type of listeners requested; this parameter * should specify an interface that descends from ! * {@code java.util.EventListener} * @return an array of all objects registered as * <code><em>Foo</em>Listener</code>s on this button, * or an empty array if no such * listeners have been added ! * @exception ClassCastException if {@code listenerType} * doesn't specify a class or interface that implements ! * {@code java.util.EventListener} * * @see #getActionListeners * @since 1.3 */ public <T extends EventListener> T[] getListeners(Class<T> listenerType) {
*** 359,372 **** return super.eventEnabled(e); } /** * Processes events on this button. If an event is ! * an instance of <code>ActionEvent</code>, this method invokes ! * the <code>processActionEvent</code> method. Otherwise, ! * it invokes <code>processEvent</code> on the superclass. ! * <p>Note that if the event parameter is <code>null</code> * the behavior is unspecified and may result in an * exception. * * @param e the event * @see java.awt.event.ActionEvent --- 359,372 ---- return super.eventEnabled(e); } /** * Processes events on this button. If an event is ! * an instance of {@code ActionEvent}, this method invokes ! * the {@code processActionEvent} method. Otherwise, ! * it invokes {@code processEvent} on the superclass. ! * <p>Note that if the event parameter is {@code null} * the behavior is unspecified and may result in an * exception. * * @param e the event * @see java.awt.event.ActionEvent
*** 382,402 **** } /** * Processes action events occurring on this button * by dispatching them to any registered ! * <code>ActionListener</code> objects. * <p> * This method is not called unless action events are * enabled for this button. Action events are enabled * when one of the following occurs: * <ul> ! * <li>An <code>ActionListener</code> object is registered ! * via <code>addActionListener</code>. ! * <li>Action events are enabled via <code>enableEvents</code>. * </ul> ! * <p>Note that if the event parameter is <code>null</code> * the behavior is unspecified and may result in an * exception. * * @param e the action event * @see java.awt.event.ActionListener --- 382,402 ---- } /** * Processes action events occurring on this button * by dispatching them to any registered ! * {@code ActionListener} objects. * <p> * This method is not called unless action events are * enabled for this button. Action events are enabled * when one of the following occurs: * <ul> ! * <li>An {@code ActionListener} object is registered ! * via {@code addActionListener}. ! * <li>Action events are enabled via {@code enableEvents}. * </ul> ! * <p>Note that if the event parameter is {@code null} * the behavior is unspecified and may result in an * exception. * * @param e the action event * @see java.awt.event.ActionListener
*** 410,424 **** listener.actionPerformed(e); } } /** ! * Returns a string representing the state of this <code>Button</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 the parameter string of this button */ protected String paramString() { return super.paramString() + ",label=" + label; --- 410,424 ---- listener.actionPerformed(e); } } /** ! * Returns a string representing the state of this {@code Button}. * 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 the parameter string of this button */ protected String paramString() { return super.paramString() + ",label=" + label;
*** 434,456 **** */ private int buttonSerializedDataVersion = 1; /** * Writes default serializable fields to stream. Writes ! * a list of serializable <code>ActionListeners</code> * as optional data. The non-serializable ! * <code>ActionListeners</code> are detected and * no attempt is made to serialize them. * ! * @serialData <code>null</code> terminated sequence of 0 or ! * more pairs: the pair consists of a <code>String</code> ! * and an <code>Object</code>; the <code>String</code> * indicates the type of object and is one of the following: ! * <code>actionListenerK</code> indicating an ! * <code>ActionListener</code> object * ! * @param s the <code>ObjectOutputStream</code> to write * @see AWTEventMulticaster#save(ObjectOutputStream, String, EventListener) * @see java.awt.Component#actionListenerK * @see #readObject(ObjectInputStream) */ private void writeObject(ObjectOutputStream s) --- 434,456 ---- */ private int buttonSerializedDataVersion = 1; /** * Writes default serializable fields to stream. Writes ! * a list of serializable {@code ActionListeners} * as optional data. The non-serializable ! * {@code ActionListeners} are detected and * no attempt is made to serialize them. * ! * @serialData {@code null} terminated sequence of 0 or ! * more pairs: the pair consists of a {@code String} ! * and an {@code Object}; the {@code String} * indicates the type of object and is one of the following: ! * {@code actionListenerK} indicating an ! * {@code ActionListener} object * ! * @param s the {@code ObjectOutputStream} to write * @see AWTEventMulticaster#save(ObjectOutputStream, String, EventListener) * @see java.awt.Component#actionListenerK * @see #readObject(ObjectInputStream) */ private void writeObject(ObjectOutputStream s)
*** 461,479 **** AWTEventMulticaster.save(s, actionListenerK, actionListener); s.writeObject(null); } /** ! * Reads the <code>ObjectInputStream</code> and if ! * it isn't <code>null</code> adds a listener to * receive action events fired by the button. * Unrecognized keys or values will be ignored. * ! * @param s the <code>ObjectInputStream</code> to read * @exception HeadlessException if ! * <code>GraphicsEnvironment.isHeadless</code> returns ! * <code>true</code> * @serial * @see #removeActionListener(ActionListener) * @see #addActionListener(ActionListener) * @see java.awt.GraphicsEnvironment#isHeadless * @see #writeObject(ObjectOutputStream) --- 461,479 ---- AWTEventMulticaster.save(s, actionListenerK, actionListener); s.writeObject(null); } /** ! * Reads the {@code ObjectInputStream} and if ! * it isn't {@code null} adds a listener to * receive action events fired by the button. * Unrecognized keys or values will be ignored. * ! * @param s the {@code ObjectInputStream} to read * @exception HeadlessException if ! * {@code GraphicsEnvironment.isHeadless} returns ! * {@code true} * @serial * @see #removeActionListener(ActionListener) * @see #addActionListener(ActionListener) * @see java.awt.GraphicsEnvironment#isHeadless * @see #writeObject(ObjectOutputStream)
*** 500,518 **** ///////////////// // Accessibility support //////////////// /** ! * Gets the <code>AccessibleContext</code> associated with ! * this <code>Button</code>. For buttons, the ! * <code>AccessibleContext</code> takes the form of an ! * <code>AccessibleAWTButton</code>. ! * A new <code>AccessibleAWTButton</code> instance is * created if necessary. * ! * @return an <code>AccessibleAWTButton</code> that serves as the ! * <code>AccessibleContext</code> of this <code>Button</code> * @beaninfo * expert: true * description: The AccessibleContext associated with this Button. * @since 1.3 */ --- 500,518 ---- ///////////////// // Accessibility support //////////////// /** ! * Gets the {@code AccessibleContext} associated with ! * this {@code Button}. For buttons, the ! * {@code AccessibleContext} takes the form of an ! * {@code AccessibleAWTButton}. ! * A new {@code AccessibleAWTButton} instance is * created if necessary. * ! * @return an {@code AccessibleAWTButton} that serves as the ! * {@code AccessibleContext} of this {@code Button} * @beaninfo * expert: true * description: The AccessibleContext associated with this Button. * @since 1.3 */
*** 523,533 **** return accessibleContext; } /** * This class implements accessibility support for the ! * <code>Button</code> class. It provides an implementation of the * Java Accessibility API appropriate to button user-interface elements. * @since 1.3 */ protected class AccessibleAWTButton extends AccessibleAWTComponent implements AccessibleAction, AccessibleValue --- 523,533 ---- return accessibleContext; } /** * This class implements accessibility support for the ! * {@code Button} class. It provides an implementation of the * Java Accessibility API appropriate to button user-interface elements. * @since 1.3 */ protected class AccessibleAWTButton extends AccessibleAWTComponent implements AccessibleAction, AccessibleValue
< prev index next >