| JButton |
|
typedict |
| |
A
JButton
is the interface to the Java Swing JButton, JCheckBox, JRadioButton and
JToggleButton Components.
Yoix programs normally interact with a
JButton
using event handlers and by reading or writing the following fields:
| alignment |
An
int
that controls the horizontal positioning of the text in the button.
The value should be
LEFT,
CENTER,
RIGHT,
LEADING,
or
TRAILING,
which are all defined in
yoix.swing.
Reading returns the current alignment.
Writing immediately repaints the text using the new alignment.
The default value is
CENTER.
| | armed |
An
int
that is 1 when the button is armed (i.e., partially committed to being
pressed) and 0 otherwise.
Reading returns the current armed status.
Writing immediately changes the armed status.
Mostly this field is of use inside the
stateChanged
event handler.
| | 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.
| | border |
An
Object
that should be a
Border,
Insets,
Number,
or
String
that describes the border that is drawn around this button.
A
NULL
value, which is the default, means no border.
A
border
that is an
Insets
or
Number
is an easy way to describe margins
(i.e., an
EmptyBorder),
in units of 72 dots per inch, that are left around the sides of this button.
A
border
that is a
String
is a quick way to surround this button with a border that uses the
String
as its title.
Reading returns a snapshot of the current border.
Writing immediately sets the button's border to the new value.
| | click([Number time]) |
A
Builtin
that causes the button to behave as if it has just been interactively clicked.
The optional
time
argument, when supplied, is the number of seconds the button will remain depressed.
| | 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.
| | doublebuffered |
An
int
that is
1
when the button uses double-buffering to draw itself,
0
when it does not, and starts with a default value that is
selected by Java for the button.
Reading returns the current double-buffering behavior.
Writing immediately sets the button's double-buffering behavior to the new value.
Note that double-buffering may be required when transparent components are used.
| | dragenabled |
An
int
that should be set to
1
when this button wants to use the automatic drag handling that Swing provides
for some components, and
0
(the default)
when it does not.
Components that do not provide automatic drag handling always return
0
when their
dragenabled
field is read, so storing
1
in
dragenabled
should only be viewed as a request for a service that may not be available.
Swing components can always take complete control of their drag and drop
handling using their
transferhandler
field or special drag and drop event handlers.
| | enabled |
An
Object
that is
1
when the button can respond to user input,
0
when it can not respond, and
NULL
(the default)
when the button inherits the value from the nearest lightweight container,
like a
JPanel,
that contains the button and has its
enabled
field set to something other than
NULL.
The top-level application window that contains the button always gets the
final say, so disabling that window always disables the button.
Reading returns the current state.
Writing immediately sets the button's state to the new value.
| | 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.
| | group |
The
ButtonGroup,
if any, containing this button.
Reading returns the currently associated group, writing assigns the currently
associated group.
Button groups are used to
enforce a multiple-exclusion scope on the set of buttons in the group.
Usually a button of type
RADIO_BUTTON
is used in conjunction with a
ButtonGroup.
| | icon |
A read-write
Image
to be used as the
defaulticon
for this button.
This field is a convenience field and is equivalent to the
defaulticon
element in the
icons
dictionary discussed below.
| | icons |
A read-write
Dictionary
of
Image
fields that specify the icons to be used in the seven potential
states of the button.
The seven fields are
defaulticon,
disabledicon,
disabledselectedicon,
pressedicon,
rollovericon,
rolloverselectedicon
and
selectedicon.
If
pressedicon
or
disabledicon
are not explicitly specified, the value of
defaulticon
is applied to them.
| | insets |
An
Object,
usually an
Insets
or
Number,
that describes the margins, in units of 72 dots per inch, that
separate the button from its default border.
This field is not automatically used when the button builds its own
border.
An
insets
that is a number is an easy way to describe a uniform margin.
Writing immediately changes the margins that are drawn around the button
by the default border.
| | layer |
An
int,
often a small number between 0 and 99,
that identifies the depth of this button when it is added to a
JLayeredPane
or
JDesktopPane.
Components assigned to lower numbered layers are drawn before
the components in higher numbered layers.
Writing immediately changes the button's layer, which usually means the
JLayeredPane
or
JDesktopPane
that contains the button will be repainted.
| | 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.
| | mnemonic |
An
int
that sets the keyboard mnemonic for the button.
The integer value represents, in a case-insensitive manner, a single key on
the keyboard.
It is recommended that elements in the
yoix.swing.KeyCode
dictionary be used for assigning mnemonic values.
Refer to the Java
AbstractButton
documentation for more information about
mnemonic usage.
| | nextfocus |
An
Object
that is the component that receives the focus after this button
when the focus traverses from one component to the next
(usually by means of the keyboard
TAB
character).
A
NULL
value indicates that the default Java focus traversal is in effect.
Reading returns the value last stored.
Writing immediately sets the new focus traversal behavior.
| | opaque |
An
Object
that is
1
when the button is opaque,
0
when it is transparent, and
NULL
(the default)
when the button inherits the value from the nearest component that
contains the button and has its
opaque
field set to something other than
NULL.
| | popup |
A
JPopupMenu
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.
| | preferredsize |
A
Dimension
that is used by layout managers when they need to know the button's
preferred size in units of 72 dots per inch.
A
NULL
value means the button has no preference.
A non-positive height or width is allowed and simply means the button
has no preference for that dimension.
Reading returns the current preferred size.
Writing changes the preferred size and immediately notifies
root.layoutmanager,
which means the components contained in
root
may be repositioned and resized.
| | pressed |
An
int
that is 1 when the button is pressed and 0 otherwise.
Reading returns the current pressed status.
Writing immediately changes the pressed status.
Mostly this field is of use inside the
stateChanged
event handler.
| | 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.
| | requestfocusenabled |
An
int
that is
1
(the default)
when actions, like mouse clicks or changes to the
requestfocus
field, can steal the keyboard focus and
0
when they can not.
Note that this field does not affect acceptance of the keyboard focus
during normal focus traversal.
Reading returns the current state.
Writing immediately sets the button's state to the new value.
| | rolloverenabled |
An
int
that is
1
when a
rollover
(i.e., the mouse entering or exiting the button)
will be registered, or
0
(the default)
when it will not.
Note that this field does not affect changing the rollover state by
assigning a value to the
rollover
field.
Reading returns the current state.
Writing immediately sets the button's state to the new value.
| | rollover |
An
int
that is 1 when the mouse is over the button and 0 otherwise.
Reading returns the current rollover status.
Writing immediately changes the rollover status.
Mostly this field is of use inside the
stateChanged
event handler.
| | 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.
| | selected |
A synonym for
state,
which is preferred.
This field is retained for backward compatibility.
| | 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.
| | state |
An
int
that is 1 when the button is selected and 0 otherwise.
For a standard button, this field has no real meaning and setting it in that
case has no meaningful effect.
| | 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
JFrame
or
JPanel,
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 aligned, as indicated by the
alignment
field, in the button.
Reading returns the current text.
Writing immediately paints the new text.
| | textposition |
An
int
that controls the horizontal positioning of the text in the button relative to its icon.
The value should be
LEFT,
CENTER,
RIGHT,
LEADING,
or
TRAILING,
which are all defined in
yoix.swing.
Reading returns the current alignment.
Writing immediately repaints the text using the new alignment.
The default value is
TRAILING.
| | tooltiptext |
A
String
of characters that is displayed in a tightly sized pop-up window that
appears near the cursor whenever the cursor lingers over the button.
Setting this value to
NULL
(the default)
disables the tooltip mechanism.
Reading returns the current tooltip text.
Writing immediately sets the new tooltip text.
| | transferhandler |
An
Object
that should be a
TransferHandler
or
String
that determines how the button handles data transfer operations
like drag and drop.
A value that is a
String
but not
""
means the field named by the
String
should be used as the source and sink of the data that is transferred by
the button.
The result is the same as assigning the
String
to the
property
field in a
TransferHandler
and then assigning that
TransferHandler
to
transferhandler.
The empty
String
""
is special and refers to the
TransferHandler
that Swing uses for automatic drag handling, if there is one.
Swing components that provide automatic drag handling start out with a
transferhandler
field that is not
NULL,
but the automatic drag handling is not enabled until
1
is stored in
dragenabled.
Swing components that provide their own drag and drop event handlers
currently must store
NULL
in
transferhandler
before those event handlers will start working.
| | type |
An
int
variable that can only be set at creation time to specify the type of button.
The types,
which are all defined in
yoix.swing,
are
STANDARD_BUTTON,
CHECKBOX_BUTTON
RADIO_BUTTON,
and
TOGGLE_BUTTON.
The default is
STANDARD_BUTTON.
| | 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.
| |
| 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
stateChanged
| | |
| Example: |
The program,
import yoix.*.*;
JFrame f = {
FlowLayout layoutmanager = {
int hgap = 10;
int vgap = 72;
};
Array layout = {
new JButton {
String tag = "$_update";
String text = "Update";
int mnemonic = KeyCode.VK_U;
int requestfocus = TRUE;
actionPerformed(e) {
root.components.$_random.text = toString(random());
}
},
new JButton {
String tag = "$_random";
String text = toString(random());
String tooltiptext = "Hit 'Update' to change this text";
String font = "Helvetica-bold-14";
},
new JButton {
String tag = "$_quit";
String text = "Quit";
int mnemonic = KeyCode.VK_Q;
actionPerformed(e) {
exit(0);
}
},
};
};
f.components.$_update.nextfocus = f.components.$_quit;
f.visible = TRUE;
adds three buttons to a frame,
updates the middle button's label, using the output of the
random
built-in, when the left button is pressed,
and quits when the right button is pressed.
In addition, a tooltip is assigned to the middle button and
focus traversal skips over the middle button.
| | |
| See Also: |
appendText,
BevelBorder,
Border,
ButtonGroup,
EmptyBorder,
EtchedBorder,
invokeLater,
JCanvas,
JCheckBox,
JCheckBoxGroup,
JCheckBoxMenuItem,
JChoice,
JColorChooser,
JComboBox,
JDesktopPane,
JDialog,
JFileChooser,
JFileDialog,
JFrame,
JInternalFrame,
JLabel,
JLayeredPane,
JList,
JMenu,
JMenuBar,
JMenuItem,
JPanel,
JPasswordField,
JPopupMenu,
JProgressBar,
JRadioButton,
JRadioButtonMenuItem,
JScrollBar,
JScrollPane,
JSeparator,
JSlider,
JSplitPane,
JTabbedPane,
JTable,
JTextArea,
JTextCanvas,
JTextField,
JTextPane,
JTextTerm,
JToggleButton,
JToolBar,
JTree,
JWindow,
LineBorder,
MatteBorder,
postEvent,
SoftBevelBorder,
TransferHandler
|
|
Yoix is a registered trademark of AT&T Intellectual Property.
|
|