|
ACM Library | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectacm.graphics.GObject
acm.graphics.GCompound
public class GCompound
This class defines a graphical object that consists of a collection of other graphical objects. Once assembled, the internal objects can be manipulated as a unit.
Field Summary |
---|
Fields inherited from interface acm.graphics.GContainer |
---|
BACK_TO_FRONT, FRONT_TO_BACK |
Constructor Summary | |
---|---|
GCompound()
Creates a new GCompound object with no internal components. |
Method Summary | |
---|---|
void |
add(GObject gobj)
Adds a new graphical object to this GCompound . |
void |
add(GObject gobj,
double x,
double y)
Adds the graphical object to this canvas and sets its location to the point ( x , y ). |
void |
add(GObject gobj,
GPoint pt)
Adds the graphical object to this canvas and sets its location to the specified point. |
boolean |
contains(double x,
double y)
Checks to see whether a point is "inside" the compound, which means that it is inside one of the components. |
GRectangle |
getBounds()
Returns the bounding rectangle for this compound object, which consists of the union of the bounding rectangles for each of the components. |
GPoint |
getCanvasPoint(double x,
double y)
Converts the location of the specified point in this compound to the corresponding point in the enclosing canvas. |
GPoint |
getCanvasPoint(GPoint localPoint)
Converts the location of the specified point in this compound to the corresponding point in the enclosing canvas. |
GObject |
getElement(int index)
Returns the graphical object at the specified index, numbering from back to front in the the z dimension. |
GObject |
getElementAt(double x,
double y)
Returns the topmost graphical object that contains the point ( x , y ), or null if no such
object exists. |
GObject |
getElementAt(GPoint pt)
Returns the topmost graphical object that contains the specified point, or null if no such object exists. |
int |
getElementCount()
Returns the number of graphical objects stored in this container. |
GPoint |
getLocalPoint(double x,
double y)
Converts the specified point on the enclosing canvas to the corresponding point in the space of this compound. |
GPoint |
getLocalPoint(GPoint canvasPoint)
Converts the location of the specified point on the enclosing canvas to the corresponding point in the space of this compound. |
Iterator<GObject> |
iterator()
Returns an Iterator that cycles through the elements within
this container in the default direction, which is from back to front. |
Iterator<GObject> |
iterator(int direction)
Returns an Iterator that cycles through the elements
within this container in the specified direction, which must be one
of the constants GContainer.FRONT_TO_BACK
or GContainer.BACK_TO_FRONT . |
void |
markAsComplete()
Calling this method makes it illegal to add or remove elements from the compound object. |
void |
paint(Graphics g)
Implements the paint operation for this graphical object. |
void |
remove(GObject gobj)
Removes a graphical object from this GCompound . |
void |
removeAll()
Removes all graphical objects from this GCompound . |
void |
scale(double sf)
Scales the object on the screen by the scale factor sf , which applies
in both dimensions. |
void |
scale(double sx,
double sy)
Scales every object contained in this compound by the scale factors sx and sy . |
Methods inherited from class acm.graphics.GObject |
---|
addActionListener, addMouseListener, addMouseMotionListener, contains, fireActionEvent, fireActionEvent, getColor, getHeight, getLocation, getParent, getSize, getWidth, getX, getY, isVisible, move, movePolar, pause, removeActionListener, removeMouseListener, removeMouseMotionListener, sendBackward, sendForward, sendToBack, sendToFront, setColor, setLocation, setLocation, setParent, setVisible, toString |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public GCompound()
GCompound
object with no internal components.
Method Detail |
---|
public void add(GObject gobj)
GCompound
.
add
in interface GContainer
gobj
- The graphical object to addpublic final void add(GObject gobj, double x, double y)
x
, y
).
add
in interface GContainer
gobj
- The graphical object to addx
- The new x-coordinate for the objecty
- The new y-coordinate for the objectpublic final void add(GObject gobj, GPoint pt)
add
in interface GContainer
gobj
- The graphical object to addpt
- A GPoint
object giving the coordinates of the pointpublic void remove(GObject gobj)
GCompound
.
remove
in interface GContainer
gobj
- The graphical object to removepublic void removeAll()
GCompound
.
removeAll
in interface GContainer
public int getElementCount()
getElementCount
in interface GContainer
public GObject getElement(int index)
getElement
in interface GContainer
index
- The index of the component to return
public GObject getElementAt(double x, double y)
x
, y
), or null
if no such
object exists. Note that these coordinates are relative to the
location of the compound object and not to the canvas in which
it is displayed.
getElementAt
in interface GContainer
x
- The x-coordinate of the point being testedy
- The y-coordinate of the point being tested
null
if no such object existspublic final GObject getElementAt(GPoint pt)
null
if no such object exists.
getElementAt
in interface GContainer
pt
- The coordinates being tested
null
if no such object existspublic Iterator<GObject> iterator()
Iterator
that cycles through the elements within
this container in the default direction, which is from back to front.
You can also run the iterator in the opposite direction by using the
iterator
(
direction)
form of this method.
Iterator
ranging over the elements of the
container from back to frontpublic Iterator<GObject> iterator(int direction)
Iterator
that cycles through the elements
within this container in the specified direction, which must be one
of the constants GContainer.FRONT_TO_BACK
or GContainer.BACK_TO_FRONT
.
for (Iterator<GObject> i = gc.iterator(direction); i.hasNext(); )
Iterator
ranging over the elements of the
container in the specified directionpublic void paint(Graphics g)
paint
operation for this graphical object. This method
is not called directly by clients.
paint
in class GObject
g
- The graphics context into which the painting is donepublic void scale(double sx, double sy)
sx
and sy
. Automatic repaint is turned off
during the scaling operation so that at most one repaint is performed.
scale
in interface GScalable
sx
- The factor used to scale all coordinates in the x directionsy
- The factor used to scale all coordinates in the y directionpublic final void scale(double sf)
sf
, which applies
in both dimensions.
scale
in interface GScalable
sf
- The factor used to scale all coordinates in both dimensionspublic GRectangle getBounds()
getBounds
in class GObject
GRectangle
that bounds the components of this objectpublic boolean contains(double x, double y)
contains
in class GObject
x
- The x-coordinate of the point being testedy
- The y-coordinate of the point being tested
true
if the point (x
, y
) is inside
the compound, and false
otherwisepublic final GPoint getCanvasPoint(GPoint localPoint)
localPoint
- The coordinates in the space of the compound
GCanvas
public GPoint getCanvasPoint(double x, double y)
x
- The x coordinate in the space of the compoundy
- The y coordinate in the space of the compound
GCanvas
public final GPoint getLocalPoint(GPoint canvasPoint)
canvasPoint
- The coordinates in the space of the enclosing GCanvas
public GPoint getLocalPoint(double x, double y)
x
- The x coordinate in the space of the space of the enclosing GCanvas
y
- The y coordinate in the space of the space of the enclosing GCanvas
public void markAsComplete()
|
Last updated: Sat, Aug 22, 2009 10:26 PM EDT | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |