------------------------------------------------------------------------
Summary information for the Easy Components
------------------------------------------------------------------------
Summary of EasyComponents
A component is a graphical entity that is part of a graphical user
interface.
The components we will study are frames, panels, textfields, textareas,
labels, buttons, and timers. The E is
for easier.
Quick Reference (an abstract class can only be extended, not created by new
because
one or more methods must be completed)
EFrame the outside container that
holds all other components, your class should
extend this class.
EPanel a container to hold
components that should be grouped together
(may create using new)
EField a one line space for user to
enter text, you create private
inner classes by extending this class
(EField is abstract).
ETextArea a multi-line space for
text (create by using new)
ELabel a place for information set
by your program (create by using new)
EButton a button that responses to
clicking, causing some action to be
performed, your buttons should
extend this class (EButton is abstract.)
ETimer a timer that controls
animation or interaction pacing,
create an inner class for each
timer (ETimer is abstract)
EFrame is a rectangular window that appears on the screen.
A subclass of EFrame must have a constructor that adds components
(buttons, textfields, pictures, etc.) as desired. Always finish by saying
setVisible(true); this final command is what makes the frame appear on
the screen. The key method for EFrames
is add(someComponent); it is used
in this constructor
EField A subclass of EField is
generally defined inside the EFrame subclass.
It needs nothing more than one method:
onEnter() will execute when the user
presses the ENTER key within the textfield.
You can set the width of an EField,
measured in characters, with the instance method width(numCharacters)
ETextArea An ETextArea object displays a large amount of textual
information.
You will also have scroll bars on this area, so the user can scroll up-and-down
or left-and-right to read all the material printed there. You add one line to
the information displayed in an ETextArea by using et.say(messageString).
ELabel You create an ELabel object using new ELabel(). You can place a
picture at that spot on the screen using the ELabel instance method
picture(fileString).
It returns the ELabel object itself, so it can be used within
thisEFrame.add(someComponent).
EButton A subclass of EButton is generally defined inside the EFrame
subclass.
It needs nothing more than one method:
onClick() will execute when the user
clicks the button.
ETimer A subclass of ETimer is generally defined inside the EFrame
subclass.
It must have an onBeep() instance method.
You use the instance method delay(m),
which returns the ETimer itself, to tell the timer to wait for a period of m
milliseconds (1000 milliseconds is 1 second) before executing its onBeep
method.
ETimer is a subclass of ELabel, because an ETimer is often used to display a
picture
that changes frequently, once each time onBeep is called. You can stop the beeping
with the ETimer instance method stop().
Summary of E-object classes, constructors and methods
EFrame subclass can use super() or super(titleString, widthInt,heightInt,
isMainBoolean);
eo.add (someComponent) // insert the component in the frame,
book-reading order
eo.setVisible (true) // makes the frame appear on the screen
eo.startNewRow() // start a new row for components
being added
eo.dispose() // close the frame
new ELabel()
eo.picture (fileString) // place the picture on the label; return
the ELabel itself
eo.getPicture() returns String // find out which picture is on it
("" if none)
eo.text (titleString) // place the text on the label; return
the ELabel itself
eo.setText (titleString) // change what the label says on it
eo.getText() returns String // find
out what the label says on it
new ETextArea (heightOfTextAreaInCharacters, widthOfTextAreaInCharacters)
eo.say (stringAppended) // add this string as the next line in the
textarea
EButton subclass can use super(); it
must define method onClick() to react to a click
eo.text (titleString) // place the text on the button; return
the EButton itself
eo.setText (titleString) // change what the button says on it
eo.getText() returns String // find
out what the button says on it
EField subclass can use super(); it must
define method onEnter() to react to ENTER key
eo.width (numCharacters) // make it many characters wide; return the
EField itself
eo.text (titleString) // place the text in the textfield;
return the EField itself
eo.setText (titleString) // change what the textfield says in it
eo.getText() returns String // find
out what the textfield says in it
ETimer subclass can use super(); it must
define method onBeep() [subclass of
ELabel]
eo.delay (millisecondsInt) // execute onBeep() after a delay; return the
ETimer itself
eo.stop() // terminate the timer, so
onBeep() will not be executed