| ScrollPane |
|
typedict |
| |
A
ScrollPane
represents a simple container that is implemented using Java's
AWT ScrollPane class.
It is used to display a single child,
often a complicated panel or large canvas, in a scrollable viewport.
Scrollpanes do not create windows, which means you only see them when
they are in a visible
Frame,
Dialog,
or
Window.
Yoix programs normally interact with a
ScrollPane
using event handlers and by reading or writing the following fields:
| background |
The
Color
that is used to paint the background of the scrollpane.
It is also the default background color assigned to components in the
layout
array that do not pick their own.
Reading returns a snapshot of the current color.
Writing immediately sets the scrollpane's background,
and the background of components contained in the scrollpane
that do not pick their own, to the new color.
| | components |
A
Dictionary
maintained by the interpreter's layout machinery that maps
tag
fields to actual components;
every component contained in the scrollpane has an entry in the dictionary.
Add the scrollpane to another container (e.g., a frame or panel)
and entries in the
components
dictionary are copied into the new container's
components
dictionary.
In addition, the
root
field in each component is automatically set to the top-level container,
so the
components
dictionary is easy to find, and that means individual components
can find each other by name using the
root.components
dictionary.
| | cursor |
An
Object
that should be an
int,
Image,
or
String
that selects the cursor shown when the pointer is over the scrollpane.
It is also the default cursor assigned to components in the scrollpane's
layout
array that do not pick their own.
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 sets the scrollpane's cursor,
and the cursor of components contained in the scrollpane
that do not pick their own, to the new value.
A scrollpane that does not set its own cursor uses
DEFAULT_CURSOR.
| | enabled |
An
int
that is
1
when the scrollpane,
or any of the components contained in the scrollpane,
can respond to user input, and
0
otherwise.
Reading returns the current state.
Writing immediately sets the scrollpane's state to the new value.
| | focusowner |
A read-only
int
that is non-zero when the scrollpane has the focus.
| | font |
The
Font,
or font name if it is a
String,
that is used as the default font assigned to components in the
layout
array that do not pick their own.
Reading returns a snapshot of the current font.
Writing immediately changes the scrollpane's font,
and the font used by all components contained in the scrollpane
that do not pick their own, to the new font.
| | foreground |
The
Color
that is used as the default foreground color assigned to components in the
layout
array that do not pick their own.
Reading returns a snapshot of the current color.
Writing immediately sets the scrollpane's foreground,
and the foreground of components contained in the scrollpane
that do not pick their own, to the new color.
| | fronttoback |
An
int
that is
1
when components that appear earlier in the
layout
array are placed on top of components that appear later, and
0
when the stacking order is reversed.
Reading returns the current stacking order.
Writing immediately tries to change the stacking order.
| | layout |
An
Array
of objects, usually just a panel or large canvas, that the
layoutmanager
arranges in the scrollpane.
Reading returns the current array.
Writing immediately clears scrollpane and then arranges the new
set of components in the scrollpane.
| | layoutmanager |
A
LayoutManager
that is permanently set to
NULL,
because scrollpanes take responsibility for
placing the child component, usually just a panel or large canvas,
in the viewport.
The scrollpane updates its own
components
dictionary, just like other layout managers, and makes sure the
root
field in each component is set to the scrollpane.
Writing is not allowed and will result in an
invalidaccess
error.
| | location |
A
Point
that determines the location of the scrollpane
in a coordinate system that has its origin at the upper left corner
of the container closest to the scrollpane (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 scrollpane.
Reading returns the current popup menu.
Writing immediately shows the popup menu at the point in the scrollpane's coordinate
system specified by the popup menu's
location
field, assuming of course that the scrollpane 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 scrollpane.
| | 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 scrollpane.
For example, put a scrollpane in a panel and
root
will be set to the panel;
add that panel to a frame and the scrollpane's
root
field will be set to that frame.
A scrollpane's event handlers can use
root
when they need to interact with the other components in the container.
| | scroll |
An
int
that controls the scrollbar display policy for the scrollpane.
The value should be
ALWAYS,
AS_NEEDED,
or
NEVER,
which are all defined in
yoix.awt.
The value cannot be changed once the scrollpane is created.
| | showing |
A read-only
int
that is non-zero when the scrollpane is showing on the screen.
| | size |
A
Dimension
that determines the size of the scrollpane
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 scrollpane that is either supplied when
the scrollpane is declared, or automatically generated otherwise.
Add a scrollpane 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 scrollpane, as
tag,
to the
root.components
dictionary.
| | validate |
An
int
that is
1
when changing the
layoutmanager
field takes effect immediately, and
0
when the change is delayed, often until after the
layout,
size,
or
validate
fields change.
Storing a
1
in
validate
always runs Java's layout manager, even when nothing has changed.
| | visible |
An
int
that is
1
when the scrollpane is visible, and
CR 0
otherwise.
Reading returns the current visibility.
Writing immediately sets the scrollpane'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 scrollpane when it is
declared.
The handlers that work with scrollpanes are listed below;
the names should be familiar if you have done some Java programming.
The
actionPerformed
and
itemStateChanged
event handlers are only for menus.
| |
| Event Handlers: |
actionPerformed,
adjustmentValueChanged,
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 = {
Dimension size = {
double width = 8*72;
double height = 6*72;
};
Array layout = {
new ScrollPane {
Array layout = {
new Panel {
BorderLayout layoutmanager;
Array layout = {
new Label {
String text = "A ScrollPane Example";
String font = "Helvetica-bold-14";
int alignment = CENTER;
}, NORTH,
new TextArea {
int rows = 50;
int columns = 100;
int scroll = NONE;
}, CENTER,
new Panel {
Array layout = {
new Button {
String text = "One";
},
new Button {
String text = "Two";
},
new Button {
String text = "Dismiss";
actionPerformed(e) {
exit(0);
}
},
};
}, SOUTH,
};
},
};
},
};
};
f.visible = TRUE;
arranges a label, three buttons, and a large textarea in a panel,
which is then added to a scrollpane and displayed in a frame that
should start out smaller than the panel.
| | |
| See Also: |
Button,
Canvas,
Checkbox,
Choice,
Dialog,
FileDialog,
Frame,
Label,
List,
Menu,
MenuBar,
Panel,
PopupMenu,
postEvent,
Scrollbar,
TableColumn,
TableManager,
TextArea,
TextCanvas,
TextField,
TextTerm,
Window
|
|
Yoix is a registered trademark of AT&T Intellectual Property.
|
|