| java.lang.Object edu.hws.jcm.draw.Drawable edu.hws.jcm.draw.Panner
Panner | public class Panner extends Drawable implements MouseListener,MouseMotionListener(Code) | | When a Panner object is added to a CoordinateRect, it becomes possible to
"grab" the coordinate rectangle and pan it (that is, slide it around by
moving it with the mouse). By default, the user must right-click-and-drag
to pan the coordinates, but this can be changed by providing an argument to
the constructor. It is possible to set a Controller to be notified each time
the mouse moves while the user is dragging. Alternatively, or in addition,
you can set a Controller to be notified when the user finishes dragging.
However, for the most part this is unnecessary, since the Drawables in the
CoordinateRect will for the most part redraw themselves properly when the
limits on the CoordinateRect change. However, if you have Computable objects
that depend on the coordinate limits, then they will need to be recomputed.
(This will be the case if you use value objects returned by the
getValueObject() method in the CoordinateRect class.)
A Panner, p, is inactive if its "visible" property has been set to false.
(This is done by calling p.setVisible(false).)
|
Constructor Summary | |
public | Panner() Create a Panner object that will let the user pan the CoordinateRect
that contains the Panner by
right-clicking and dragging (or, on Macintosh, command-clicking). | public | Panner(int modifierSet) Create a Panner object that will let the user click-and-drag to pan the CoordinateRect
that contains the Panner. |
Panner | public Panner()(Code) | | Create a Panner object that will let the user pan the CoordinateRect
that contains the Panner by
right-clicking and dragging (or, on Macintosh, command-clicking).
|
Panner | public Panner(int modifierSet)(Code) | | Create a Panner object that will let the user click-and-drag to pan the CoordinateRect
that contains the Panner. The mouse-pressed event must have the specfied set of
modifiers set.
Parameters: modifiers - If the value is zero, the user drags the CoordinateRect by clicking withoutpressing any modifier keys. Otherwise, the value should be a combination ofone or more of the constants MouseEvent.SHIFT_MASK, MouseEvent.CTRL_MASK,MouseEvent.META_MASK, and MouseEvent.ALT_MASK, or'ed together. (Rememberthat right-clicking sets META_MASK and clicking with a middle mouse buttonsets ALT_MASK.) |
draw | public void draw(Graphics g, boolean coordsChanged)(Code) | | Override the abstract draw() method from the Drawable class. This
is defined to be empty since a Panner object has no visible representation.
|
getOnFinishDrag | public Controller getOnFinishDrag()(Code) | | Get the Controller that is notified when the user finishs a drag.
Returns null if no Controller is notified.
|
getOnUserAction | public Controller getOnUserAction()(Code) | | Get the Controller that is notified when the user moves the mouse during a drag.
Returns null if no Controller is notified.
|
mouseClicked | public void mouseClicked(MouseEvent evt)(Code) | | Responds to a mouse-click. Not meant to be called directly.
Defined to be empty in this class.
|
mouseDragged | public void mouseDragged(MouseEvent evt)(Code) | | Responds to a mouse-drag. Not meant to be called directly.
|
mouseEntered | public void mouseEntered(MouseEvent evt)(Code) | | Responds to a mouse-enter event. Not meant to be called directly.
Defined to be empty in this class.
|
mouseExited | public void mouseExited(MouseEvent evt)(Code) | | Responds to a mouse-exit event. Not meant to be called directly.
Defined to be empty in this class.
|
mouseMoved | public void mouseMoved(MouseEvent evt)(Code) | | Responds when mouse moves. Not meant to be called directly.
Defined to be empty in this class.
|
mousePressed | public void mousePressed(MouseEvent evt)(Code) | | Responds to a mouse-press. Not meant to be called directly.
|
mouseReleased | public void mouseReleased(MouseEvent evt)(Code) | | Responds to a mouse-release. Not meant to be called directly.
|
setOnFinishDrag | public void setOnFinishDrag(Controller c)(Code) | | Set a Controller that will be notified (by calling its compute method) whenever
the user finishes a drag operation. If the value is null, no Controller is notified.
You only need to do this if you have to recompute some object that depends on the
coordinate limits of the CoordinateRect that contains this Panner object.
Presumably, this will be an object that depends on one if the Value objects returned
by the getValueObject() method in the CoordinatRect class.
|
setOnUserAction | public void setOnUserAction(Controller c)(Code) | | Set a Controller that will be notified (by calling its compute method) whenever
the user moves the mouse during a drag. If the value is null, no Controller is
notified. Note that Drawables generally redraw themselvs correctly during the
drag anyway, without any Controller being involved. Even if there are other
things that need to be computed, it's probably better to compute them only once
at the end of the drag. Do this by calling setOnFinishDrag() instead of this method.
|
setOwnerData | protected void setOwnerData(DisplayCanvas canvas, CoordinateRect coords)(Code) | | Called when this object is added to a DisplayCanvas. Not meant to be called directly.
|
|
|