A
Button
is the interface to Java's AWT Button Component.
Yoix programs normally interact with a
Button
using event handlers and by reading or writing the following fields:
| autotrim |
An
int
that is
1
when white space is automatically trimmed from both ends of every string
read from or written to the
text
field, and
0
otherwise.
| | background |
The
Color
that is used to paint the background of the button.
Reading returns a snapshot of the current color.
Writing immediately changes the background to the new color.
Storing
NULL
in
background
is special and means use the background of the nearest component
that contains the button and was assigned a background color other than
NULL;
if no component qualifies the button uses
VM.screen.background.
| | command |
A
String
that is assigned to the
command
field in the
ActionEvent
that is generated when the button is clicked.
The value stored in the button's
text
field is used when
command
is set to
NULL.
| | cursor |
An
Object
that should be an
int,
Image,
or
String
that selects the cursor shown when the pointer is over the button.
A
cursor
that is an
int
should be one of the cursors defined in the
yoix.awt.Cursor
dictionary.
A
cursor
that is an
Image
can describe the cursor using its
size
and
hotspot
fields and often draws it using its
paint
function.
A
cursor
that is a
String
should be the name of a cursor that is already defined in
yoix.awt.Cursor
or the name a local a file or URL that contains a GIF or JPEG image
that will be used as the cursor.
Reading returns the current cursor.
Writing immediately changes the button's cursor to the new value.
Storing
STANDARD_CURSOR
(the default) or
NULL
in
cursor
is special and means use the cursor assigned to the nearest component
that contains the button and was assigned a cursor other than
STANDARD_CURSOR;
if no component qualifies the button uses
DEFAULT_CURSOR.
| | enabled |
An
int
that is
1
when the button can respond to user input, and
0
otherwise.
Reading returns the current state.
Writing immediately sets the button's state to the new value.
| | focusable |
An
int
that is non-zero (the default)
when the button can accept the keyboard focus and zero
when it can not.
Reading returns the button's current focusable state.
Writing immediately changes the button's focusable state to the new value,
which means the focus is automatically transferred if the new value is zero
and the button is the current focus owner.
| | focusowner |
A read-only
int
that is non-zero when the button has the focus.
| | font |
The
Font,
or font name if it is a
String,
used to paint the characters stored in the
text
field.
Reading returns a snapshot of the current font.
Writing immediately repaints the text in the new font.
| | foreground |
The
Color
that is used to paint the characters stored in the
text
field.
Reading returns a snapshot of the current color.
Writing immediately repaints the text in the new color.
Storing
NULL
in
foreground
is special and means use the foreground of the nearest component
that contains the button and was assigned a foreground color other than
NULL;
if no component qualifies the button uses
VM.screen.foreground.
| | location |
A
Point
that determines the location of the button
in a coordinate system that has its origin at the upper left corner
of the container closest to the button (in the component hierarchy)
that actually contains it, positive x to the right, positive y down,
and a resolution of 72 dots per inch.
Reading returns a snapshot of the current location.
Writing is allowed, but layout managers usually get the final say, so setting
location
should be viewed as a request that may not be honored.
| | popup |
A
PopupMenu
that is associated with the button.
Reading returns the current popup menu.
Writing immediately shows the popup menu at the point in the button's coordinate
system specified by the popup menu's
location
field, assuming of course that the button is showing on the screen.
Storing
TRUE
in the popup menu's
visible
field, which was added in release 1.2.0, is an easy way to show the
popup menu that currently belongs to the button.
| | requestfocus |
An
int
that can be used to request or transfer the keyboard focus.
Storing a non-zero value in
requestfocus
tries to get the focus.
Storing
0
tries to transfer the focus.
Reading
requestfocus
does not currently return any useful information.
| | root |
An
Object
that is automatically updated by the interpreter's layout machinery
so it is always the top-level object that contains the button.
For example, put a button in a panel and
root
will be set to that panel;
add the panel to a frame and the button's
root
field will be set to that frame.
A button's event handlers can use
root
when they need to interact with the other components in the container.
| | showing |
A read-only
int
that is non-zero when the button is showing on the screen.
| | size |
A
Dimension
that determines the size of the button
in units of 72 dots per inch.
Reading returns a snapshot of the current size.
Writing is allowed, but layout managers usually get the final say, so setting
size
should be viewed as a request that may not be honored.
| | tag |
A
String
used to identify the button that is either supplied when
the button is declared, or automatically generated otherwise.
Add a button to a container, like a
Frame
or
Panel,
and the interpreter's layout machinery updates the
root
field so it points at the top-level container and then adds the button, as
tag,
to the
root.components
dictionary.
| | text |
A
String
of characters that is centered in the button.
Reading returns the current text.
Writing immediately paints the new text.
| | visible |
An
int
that is
1
when the button is visible, and
0
otherwise.
Reading returns the current visibility.
Writing immediately sets the button's visibility to the new state.
|
Several permanent fields have not been documented and should not be
used in Yoix applications.
Event handlers are functions that must be added to a button when it is
declared.
The handlers that work with buttons are listed below;
the names should be familiar if you have done some Java programming.
The
itemStateChanged
event handler is only for menus.
| |
| Event Handlers: |
actionPerformed,
componentHidden,
componentMoved,
componentResized,
componentShown,
dragDropEnd,
dragEnter,
dragExit,
dragGestureRecognized,
dragMouseMoved,
dragOver,
drop,
dropActionChanged,
focusGained,
focusLost,
invocationRun,
itemStateChanged,
keyPressed,
keyReleased,
keyTyped,
mouseClicked,
mouseDragged,
mouseEntered,
mouseExited,
mouseMoved,
mousePressed,
mouseReleased,
mouseWheelMoved
| | |
| Example: |
The program,
import yoix.*.*;
Frame f = {
FlowLayout layoutmanager = {
int hgap = 10;
int vgap = 72;
};
Array layout = {
new Button {
String text = "Update";
actionPerformed(e) {
root.components.$_tempnam.text = tempnam("", NULL);
}
},
new Button {
String text = " " + tempnam("", NULL) + " ";
String tag = "$_tempnam";
String font = "Helvetica-14";
},
new Button {
String text = "Quit";
actionPerformed(e) {
exit(0);
}
},
};
};
f.visible = TRUE;
adds three buttons to a frame,
updates the middle button's label, using the output of the
tempnam
built-in, when the left button is pressed,
and quits when the right button is pressed.
| | |
| See Also: |
Canvas,
Checkbox,
Choice,
Dialog,
FileDialog,
Frame,
Label,
List,
Panel,
postEvent,
ScrollPane,
Scrollbar,
TableColumn,
TableManager,
TextArea,
TextCanvas,
TextField,
TextTerm,
Window
|
|