|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--java.awt.Component | +--java.awt.Container | +--java.awt.Panel | +--edu.hws.jcm.draw.LimitControlPanel
A LimitControlPanel has four input boxes for specifying the xmin, xmax, ymin, and ymax of a CoodinateRect. You can actually add more than one CoordinteRect to the LimitControlPanel. This will synchronize the coordinate systems on the all the CoordinateRects that is controlls.
A LimitControlPanel can also contain a number of standard buttons, such as buttons for zooming the coordinates in and out. The buttons are specfied using constants defined in this class. It is possible to obtain standard buttons so that they can be displayed outside the LimitControlPanel. Furthermore, it is also possible to add other components to the panel, using the addRange(), addComponent(), and addComponentPair() methods. (The standard add() method from the Component class is overridded to call addComponent().) Any VariableInput added to the LimitControl Panel will appear with its name as a label, just above the input box.
Ordinarily, all the components are just stacked up vertically. However, if you set the useTwoColumnsIfPossible property to true, then they will be in two columns, unless the width of the Panel is too small for two columns. Pairs of items added with addRange() or addComponentPair() will appear on the same row. An item added with addComponent() will appear on a row by itself. As for the standard buttons, the following pairs will appear together, IF they are added at the same time: SET_LIMITS and EQUALUIZE; ZOOM_IN and ZOOM_OUT; SAVE and RESTORE.
A LimitControlPanel can have an error reporter, which is used to report any errors that are found in the input boxes for xmin, xmax, ymin, ymax (or other VariableInputs added with addRange()). Except for these input boxes, other coponents are NOT checked for errors.
Inner classes inherited from class java.awt.Panel |
java.awt.Panel.AccessibleAWTPanel |
Inner classes inherited from class java.awt.Container |
java.awt.Container.AccessibleAWTContainer |
Inner classes inherited from class java.awt.Component |
java.awt.Component.AccessibleAWTComponent |
Field Summary | |
static int |
ALL_BUTTONS
A constant that can be used in the addButton() method to add all possible buttons to the LimitControlPanel. |
protected int |
buttons
Set of installed buttons. |
protected CoordinateRect |
coords
The first CoordinateRect tied to this LimitControlPanel. |
static int |
EQUALIZE
A constant that can be used in the addButton() method to add a button to the LimitControlPanel. |
protected ErrorReporter |
errorReporter
For reporting errors in user input. |
protected java.util.Vector |
items
Vector of components and component pairs that have been added to this panel, including at least the xmin, xmax, ymin, ymax input boxes. |
static int |
RESTORE
A constant that can be used in the addButton() method to add a button to the LimitControlPanel. |
static int |
SAVE
A constant that can be used in the addButton() method to add a button to the LimitControlPanel. |
protected long |
serialNumber
This is increased when the user changes the limits. |
static int |
SET_LIMITS
A constant that can be used in the addButton() method to add a button to the LimitControlPanel. |
protected Tie |
syncWith
A Tie holding this panel and the CoordinateRects that it controls. |
protected boolean |
twoColumn
Use two columns for display, if possible. |
protected VariableInput |
xmax
The input boxes for the x- and y-value ranges. |
protected VariableInput |
xmin
The input boxes for the x- and y-value ranges. |
protected VariableInput |
ymax
The input boxes for the x- and y-value ranges. |
protected VariableInput |
ymin
The input boxes for the x- and y-value ranges. |
static int |
ZOOM_IN
A constant that can be used in the addButton() method to add a button to the LimitControlPanel. |
static int |
ZOOM_OUT
A constant that can be used in the addButton() method to add a button to the LimitControlPanel. |
Fields inherited from class java.awt.Component |
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT |
Fields inherited from interface java.awt.image.ImageObserver |
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
Constructor Summary | |
LimitControlPanel()
Create a LimitControlPanel containing input boxes labeled "xmin", "xmax", "ymin", "ymax" and a SET_LIMITS button. |
|
LimitControlPanel(int buttonsToAdd,
boolean useTwoColumnsIfPossible)
Create a LimitControlPanel containing input boxes labeled "xmin", "xmax", "ymin", "ymax" and whatever buttons are in the set specified by the first parameter. |
|
LimitControlPanel(java.lang.String xminName,
java.lang.String xmaxName,
java.lang.String yminName,
java.lang.String ymaxName,
int buttonsToAdd,
boolean useTwoColumnsIfPossible)
Create a LimitControlPanel containing input boxes labeled with the given names and containing whatever buttons are in the set buttonsToAdd. |
Method Summary | |
void |
actionPerformed(java.awt.event.ActionEvent evt)
Handle a click on one of the standard buttons. |
java.awt.Component |
add(java.awt.Component c)
Redefine this method from the Component class to make it a synonym for addComponent(c); |
void |
addButtons(int buttonSet)
Add the buttons in buttonSet to the panel, if they are not already there. |
void |
addComponent(java.awt.Component c)
Add a component to the panel. |
void |
addComponentPair(java.awt.Component c1,
java.awt.Component c2)
Add two components to the panel. |
void |
addCoords(CoordinateRect coords)
Add a CoordinateRect to be controlled by this LimitControlPanel. |
void |
addCoords(DisplayCanvas canvas)
Add the first CoordinateRect from the canvas to be controlled by this LimitControlPanel. |
void |
addRange(VariableInput v1,
VariableInput v2)
Add two VariableInputs to the panel. |
void |
checkInput()
Check the input boxes in this panel. |
java.awt.Button |
getButton(int buttonCode)
Get a Button corresponding to one of the six button types defined by the constants SET_LIMITS, EQUALIZE, ZOOM_IN, ZOOM_OUT, SAVE, and RESTORE in this class. |
ErrorReporter |
getErrorReporter()
Get the ErrorReporter that is used to report errors in the user's input. |
double[] |
getLimits()
Get the values in the xmin, xmax, ymin, and ymax input boxes. |
java.awt.Dimension |
getPreferredSize()
Compute the preferred size of this panel. |
long |
getSerialNumber()
Part of the Tieable interface, and not meant to be called directly. |
boolean |
getUseTwoColumnsIfPossible()
Get the value of the "useTwoColumnsIfPossible" property of this panel. |
void |
notifyControllerOnChange(Controller c)
Method required by CheckInput interface. |
void |
paint(java.awt.Graphics g)
Draw the input box labels. |
void |
processComponentEvent(java.awt.event.ComponentEvent evt)
Recompute component locations when the panel is resized. |
void |
setErrorReporter(ErrorReporter rep)
Set the ErrorReporter that is used to report errors in the user's input. |
void |
setLimits(double[] limits)
Set the values in the xmin, xmax, ymin, and ymax input boxes. |
void |
setUseTwoColumnsIfPossible(boolean two)
Set to true if you want the components to be shown in two columns (provided the panel is wide enough). |
void |
sync(Tie t,
Tieable newest)
Part of the Tieable interface, and not meant to be called directly. |
Methods inherited from class java.awt.Panel |
addNotify, getAccessibleContext |
Methods inherited from class java.awt.Container |
add, add, add, add, addContainerListener, addImpl, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getInsets, getLayout, getListeners, getMaximumSize, getMinimumSize, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paintComponents, paramString, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setFont, setLayout, update, validate, validateTree |
Methods inherited from class java.awt.Component |
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addPropertyChangeListener, addPropertyChangeListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isDisplayable, isDoubleBuffered, isEnabled, isFocusTraversable, isLightweight, isOpaque, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setForeground, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, show, size, toString, transferFocus |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
public static final int SET_LIMITS
public static final int EQUALIZE
public static final int ZOOM_IN
public static final int ZOOM_OUT
public static final int SAVE
public static final int RESTORE
public static final int ALL_BUTTONS
protected int buttons
protected boolean twoColumn
protected VariableInput xmin
protected VariableInput xmax
protected VariableInput ymin
protected VariableInput ymax
protected long serialNumber
protected Tie syncWith
protected ErrorReporter errorReporter
protected CoordinateRect coords
protected java.util.Vector items
Constructor Detail |
public LimitControlPanel()
public LimitControlPanel(int buttonsToAdd, boolean useTwoColumnsIfPossible)
buttonsToAdd
- The set of buttons to be added to the panel. Can consist of one or
more of the constants SET_LIMITS, EQUALIZE, ZOOM_IN, ZOOM_OUT, SAVE, and RESTORE,
or'ed together.useTwoColumnsIfPossible
- If this is true, then the components in the panel will
be arranged into two columns instead of one (assuming that there is room).public LimitControlPanel(java.lang.String xminName, java.lang.String xmaxName, java.lang.String yminName, java.lang.String ymaxName, int buttonsToAdd, boolean useTwoColumnsIfPossible)
xminName
- Name to be used as a label for the xmin input box.xmaxName
- Name to be used as a label for the xmax input box.yminName
- Name to be used as a label for the ymin input box.xmaxName
- Name to be used as a label for the ymax input box.buttonsToAdd
- The set of buttons to be added to the panel. Can consist of one or
more of the constants SET_LIMITS, EQUALIZE, ZOOM_IN, ZOOM_OUT, SAVE, and RESTORE,
or'ed together.useTwoColumnsIfPossible
- If this is true, then the components in the panel will
be arranged into two columns instead of one (assuming that there is room).Method Detail |
public void addCoords(CoordinateRect coords)
public void addCoords(DisplayCanvas canvas)
public void setErrorReporter(ErrorReporter rep)
public ErrorReporter getErrorReporter()
public void setUseTwoColumnsIfPossible(boolean two)
public boolean getUseTwoColumnsIfPossible()
public void addComponent(java.awt.Component c)
public void addComponentPair(java.awt.Component c1, java.awt.Component c2)
public void addRange(VariableInput v1, VariableInput v2)
public void addButtons(int buttonSet)
public java.awt.Button getButton(int buttonCode)
buttonCode
- one of the constants from this class (SET_LIMITS, EQUALIZE, etc.) specifying
one of the types of button for controlling limits. If the parameter is not one of
these constants, and IllegalArgumentException will be thrown.public java.awt.Component add(java.awt.Component c)
add
in class java.awt.Container
public void notifyControllerOnChange(Controller c)
notifyControllerOnChange
in interface InputObject
public void checkInput()
checkInput
in interface InputObject
public long getSerialNumber()
getSerialNumber
in interface Tieable
public void sync(Tie t, Tieable newest)
sync
in interface Tieable
public double[] getLimits()
getLimits
in interface Limits
public void setLimits(double[] limits)
setLimits
in interface Limits
edu.hws.jcm.awt.Limits
A
- 4-element array containing the new xmin, xmax, ymin, and ymax.public void actionPerformed(java.awt.event.ActionEvent evt)
actionPerformed
in interface java.awt.event.ActionListener
public void paint(java.awt.Graphics g)
paint
in class java.awt.Container
public java.awt.Dimension getPreferredSize()
getPreferredSize
in class java.awt.Container
public void processComponentEvent(java.awt.event.ComponentEvent evt)
processComponentEvent
in class java.awt.Component
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |