|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object java.awt.Component java.awt.Button
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 "Quit
" button as it appears
under the Solaris operating system:
The first view shows the button as it appears normally. The second view shows the button when it has input focus. Its outline is darkened to let the 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.
The gesture of clicking on a button with the mouse
is associated with one instance of 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 processMouseEvent
,
or it can register itself as a listener for mouse events by
calling addMouseListener
. Both of these methods are
defined by Component
, the abstract superclass of
all components.
When a button is pressed and released, AWT sends an instance
of ActionEvent
to the button, by calling
processEvent
on the button. The button's
processEvent
method receives all events
for the button; it passes an action event along by
calling its own 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.
If an application wants to perform some action based on
a button being pressed and released, it should implement
ActionListener
and register the new listener
to receive events from this button, by calling the button's
addActionListener
method. The application can
make use of the button's action command as a messaging protocol.
ActionEvent
,
ActionListener
,
Component.processMouseEvent(java.awt.event.MouseEvent)
,
Component.addMouseListener(java.awt.event.MouseListener)
,
Serialized FormNested Class Summary | |
protected class |
Button.AccessibleAWTButton
This class implements accessibility support for the Button class. |
Nested classes inherited from class java.awt.Component |
Component.AccessibleAWTComponent, Component.AWTTreeLock, Component.BltBufferStrategy, Component.FlipBufferStrategy |
Field Summary | |
(package private) String |
actionCommand
|
(package private) ActionListener |
actionListener
|
private static String |
base
|
private int |
buttonSerializedDataVersion
|
(package private) String |
label
|
private static int |
nameCounter
|
private static long |
serialVersionUID
|
Fields inherited from interface java.awt.image.ImageObserver |
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
Constructor Summary | |
Button()
Constructs a Button with no label. |
|
Button(String label)
Constructs a Button with the specified label. |
Method Summary | |
void |
addActionListener(ActionListener l)
Adds the specified action listener to receive action events from this button. |
void |
addNotify()
Creates the peer of the button. |
(package private) String |
constructComponentName()
Construct a name for this component. |
(package private) boolean |
eventEnabled(AWTEvent e)
|
javax.accessibility.AccessibleContext |
getAccessibleContext()
Gets the AccessibleContext associated with
this Button . |
String |
getActionCommand()
Returns the command name of the action event fired by this button. |
ActionListener[] |
getActionListeners()
Returns an array of all the action listeners registered on this button. |
String |
getLabel()
Gets the label of this button. |
EventListener[] |
getListeners(Class listenerType)
Returns an array of all the objects currently registered as FooListener s
upon this Button .
|
private static void |
initIDs()
Initialize JNI field and method IDs for fields that may be accessed from C. |
protected String |
paramString()
Returns a string representing the state of this Button .
|
protected void |
processActionEvent(ActionEvent e)
Processes action events occurring on this button by dispatching them to any registered ActionListener objects.
|
protected void |
processEvent(AWTEvent e)
Processes events on this button. |
private void |
readObject(ObjectInputStream s)
Reads the ObjectInputStream and if
it isn't null adds a listener to
receive action events fired by the button.
|
void |
removeActionListener(ActionListener l)
Removes the specified action listener so that it no longer receives action events from this button. |
void |
setActionCommand(String command)
Sets the command name for the action event fired by this button. |
void |
setLabel(String label)
Sets the button's label to be the specified string. |
private void |
writeObject(ObjectOutputStream s)
Writes default serializable fields to stream. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
String label
String actionCommand
transient ActionListener actionListener
private static final String base
private static int nameCounter
private static final long serialVersionUID
private int buttonSerializedDataVersion
Constructor Detail |
public Button() throws HeadlessException
HeadlessException
- if GraphicsEnvironment.isHeadless()
returns trueGraphicsEnvironment.isHeadless()
public Button(String label) throws HeadlessException
label
- A string label for the button.
HeadlessException
- if GraphicsEnvironment.isHeadless()
returns trueGraphicsEnvironment.isHeadless()
Method Detail |
private static void initIDs()
String constructComponentName()
constructComponentName
in class Component
public void addNotify()
addNotify
in class Component
Toolkit.createButton(java.awt.Button)
,
Component.getToolkit()
public String getLabel()
null
if the button has no label.setLabel(java.lang.String)
public void setLabel(String label)
label
- the new label, or null
if the button has no label.getLabel()
public void setActionCommand(String command)
command
- A string used to set the button's
action command.
If the string is null
then the action command
is set to match the label of the button.ActionEvent
public String getActionCommand()
null
(default) then this method
returns the label of the button.
public void addActionListener(ActionListener l)
l
- the action listenerremoveActionListener(java.awt.event.ActionListener)
,
getActionListeners()
,
ActionListener
public void removeActionListener(ActionListener l)
l
- the action listeneraddActionListener(java.awt.event.ActionListener)
,
getActionListeners()
,
ActionListener
public ActionListener[] getActionListeners()
ActionListener
s
or an empty array if no action
listeners are currently registeredaddActionListener(java.awt.event.ActionListener)
,
removeActionListener(java.awt.event.ActionListener)
,
ActionListener
public EventListener[] getListeners(Class listenerType)
FooListener
s
upon this Button
.
FooListener
s are registered using the
addFooListener
method.
You can specify the listenerType
argument
with a class literal, such as
FooListener.class
.
For example, you can query a
Button
b
for its action listeners with the following code:
ActionListener[] als = (ActionListener[])(b.getListeners(ActionListener.class));If no such listeners exist, this method returns an empty array.
getListeners
in class Component
listenerType
- the type of listeners requested; this parameter
should specify an interface that descends from
java.util.EventListener
FooListener
s on this button,
or an empty array if no such
listeners have been added
ClassCastException
- if listenerType
doesn't specify a class or interface that implements
java.util.EventListener
getActionListeners()
boolean eventEnabled(AWTEvent e)
eventEnabled
in class Component
protected void processEvent(AWTEvent e)
ActionEvent
, this method invokes
the processActionEvent
method. Otherwise,
it invokes processEvent
on the superclass.
Note that if the event parameter is null
the behavior is unspecified and may result in an
exception.
processEvent
in class Component
e
- the eventActionEvent
,
processActionEvent(java.awt.event.ActionEvent)
protected void processActionEvent(ActionEvent e)
ActionListener
objects.
This method is not called unless action events are enabled for this button. Action events are enabled when one of the following occurs:
ActionListener
object is registered
via addActionListener
.
enableEvents
.
Note that if the event parameter is null
the behavior is unspecified and may result in an
exception.
e
- the action eventActionListener
,
addActionListener(java.awt.event.ActionListener)
,
Component.enableEvents(long)
protected String paramString()
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
null
.
paramString
in class Component
private void writeObject(ObjectOutputStream s) throws IOException
ActionListeners
as optional data. The non-serializable
ActionListeners
are detected and
no attempt is made to serialize them.
s
- the ObjectOutputStream
to write
IOException
AWTEventMulticaster.save(ObjectOutputStream, String, EventListener)
,
Component.actionListenerK
,
readObject(ObjectInputStream)
private void readObject(ObjectInputStream s) throws ClassNotFoundException, IOException, HeadlessException
ObjectInputStream
and if
it isn't null
adds a listener to
receive action events fired by the button.
Unrecognized keys or values will be ignored.
s
- the ObjectInputStream
to read
HeadlessException
- if
GraphicsEnvironment.isHeadless
returns
true
ClassNotFoundException
IOException
removeActionListener(ActionListener)
,
addActionListener(ActionListener)
,
GraphicsEnvironment.isHeadless()
,
writeObject(ObjectOutputStream)
public javax.accessibility.AccessibleContext getAccessibleContext()
AccessibleContext
associated with
this Button
. For buttons, the
AccessibleContext
takes the form of an
AccessibleAWTButton
.
A new AccessibleAWTButton
instance is
created if necessary.
getAccessibleContext
in interface javax.accessibility.Accessible
getAccessibleContext
in class Component
AccessibleAWTButton
that serves as the
AccessibleContext
of this Button
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |