|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object java.awt.Component java.awt.Container javax.swing.JComponent javax.swing.JPanel vmm.core.Display
public class Display
A Display is a canvas where a View
can draw an Exhibit
. A display can
manage an Animation
; it has methods for installing, stopping, controlling the speed, and
pausing an animation. It can also manage MouseTasks, which respond to user mouse
clicks on the Display. A View can define a MouseTask
that is active as long as the View
is installed in the Display. It is also possible to install a "one-shot mouse task" that
is active only for one user mouse action.
A display can have an associated container, which can be obtained by calling getHolder()
.
The ordinary way to add a display is to add this "holder" to a parent container,
rather than adding the display itself. The holder holds a status bar in addition to the display, and
other components can be added as well using addBorderComponent(Component, Object)
. The
status bar can be hidden. In addition, if the display is in a holder, it is possible to "split"
the holder, with the display in one half and another component in the other half. Note that
exhibits that use the capabilities associated with the holder might not function fully if the
display is not contained in a holder. Ordinarily, you should not do anything with the holder
directly except add it to a parent component. Note that whenever an exhibit is removed from
the display, the holder is reset to its default state, showing only the display and (if it has not
been hidden) the status bar.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class javax.swing.JPanel |
---|
javax.swing.JPanel.AccessibleJPanel |
Nested classes/interfaces inherited from class javax.swing.JComponent |
---|
javax.swing.JComponent.AccessibleJComponent |
Nested classes/interfaces inherited from class java.awt.Container |
---|
java.awt.Container.AccessibleAWTContainer |
Nested classes/interfaces inherited from class java.awt.Component |
---|
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy |
Field Summary | |
---|---|
static int |
AUX_VIEW_ON_BOTTOM
A constant that can be used in to specify the position of the auxiliary view. |
static int |
AUX_VIEW_ON_LEFT
A constant that can be used in to specify the position of the auxiliary view. |
static int |
AUX_VIEW_ON_RIGHT
A constant that can be used in to specify the position of the auxiliary view. |
static int |
AUX_VIEW_ON_TOP
A constant that can be used in to specify the position of the auxiliary view. |
static java.lang.String |
FILMSTRIP_AVAILABLE_PROPERTY
The property name for PropertyChangeEvents that are sent when a filmstrip becomes available for replay, or when a filmstrip stops being availble. |
static java.lang.String |
STATUS_ANIMATION_PAUSED
A value for the STATUS property that indicates that an animation is installed but is currently paused. |
static java.lang.String |
STATUS_ANIMATION_RUNNING
A value for the STATUS property that indicates that an animation is installed and is running. |
static java.lang.String |
STATUS_EMPTY
A value for the STATUS property that indicates that no Exhibit is currently installed. |
static java.lang.String |
STATUS_IDLE
A value for the STATUS property that indicates that an Exhibit is currently installed, but no animation or one-shot mouse task is active. |
static java.lang.String |
STATUS_ONE_SHOT_MOUSE_TASK
A value for the STATUS property that indicates that a one-shot mouse task is currently active. |
static java.lang.String |
STATUS_PROPERTY
The property name for PropertyChangeEvents that are sent when the status of the display changes. |
Fields inherited from class javax.swing.JComponent |
---|
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW |
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 | |
---|---|
Display()
Construct an initially empty Display. |
Method Summary | |
---|---|
void |
addBorderComponent(java.awt.Component c,
java.lang.Object position)
Adds an extra component to the display's holder. |
protected void |
cancelMouseTasks()
Cancels any mouse task and one-shot mouse task currently installed in this Display. |
protected void |
chooseCursor()
Sets the cursor for this Display. |
void |
discardFilmstrip()
If this disply has saved a filmstrip from the most recent animation, the animation is discarded (freeing up the memory used by the filmstrip). |
Exhibit |
getExhibit()
Return the Exhibit that is currently installed in the display. |
java.awt.Container |
getHolder()
Returns the container or "holder" for this display. |
MouseTask |
getMouseTask()
Returns the current mouse task. |
Filmstrip |
getSavedFilmstrip()
Get the Filmstrip, if any, that has been created by a recent animation. |
int |
getSavedFilmstripLooping()
Get the looping mode () of the Filmstrip that has been created by a recent animation. |
boolean |
getShowStatusBar()
Returns the value of the showStatusBar property. |
java.lang.String |
getStatus()
Returns the value of the STATUS property. |
java.lang.String |
getStatusText()
Returns the string from the status bar. |
boolean |
getStopAnimationsOnResize()
Get the property that determines whether animations in this view are stopped when a resize occurs. |
double |
getTimeDilationForAnimations()
Returns the speed factor for animations that run in this display. |
View |
getView()
Returns the View that is curently installed in this display. |
void |
install(View view,
Exhibit exhibit)
Install a specified View and Exhibit into this Display. |
void |
installAnimation(Animation anim)
Install an animation in the display and start it running. |
void |
installAuxiliaryMouseTask(MouseTask task)
Install a default mouse handler for the auxiliary view in Display. |
void |
installAuxiliaryOneShotMouseTask(MouseTask task)
Install a mouse task in the auxiliary view that will fire just once (or maybe a few times). |
boolean |
installAuxiliaryView(View mainView,
View auxiliaryView)
Add an extra view to the display, which will always occupy half of the display. |
boolean |
installAuxiliaryView(View mainView,
View auxliaryView,
int auxViewPosition,
double fractionOfDisplay,
boolean resizable)
Add an extra view to the display. |
void |
installMouseTask(MouseTask task)
Install a default mouse handler for this Display. |
void |
installOneShotMouseTask(MouseTask task)
Install a mouse task that will fire just once (or maybe a few times). |
void |
paintComponent(java.awt.Graphics g)
Draw the Exhibit, if any. |
void |
playFilmstrip()
If there is a saved filmstrip in the display, this will play it back. |
void |
playFilmstrip(Filmstrip filmstrip,
int looping,
java.awt.Dimension preferredSize)
This method plays a specified filmstrip animation. |
void |
processComponentEvent(java.awt.event.ComponentEvent evt)
Used to call stopAnimation() if the size of the Display changes; not meant to be called directly. |
void |
removeBorderComponent(java.awt.Component c)
Removes a specified component from the display's holder. |
void |
resetHolder()
Restores the holder to its default state; this is called automatically by install(View, Exhibit) . |
void |
setShowStatusBar(boolean show)
Sets the value of the showStatusBar property. |
void |
setStatusText()
Calls setStatusText(null) . |
void |
setStatusText(java.lang.String message)
Sets the text to be displayed in the status bar of the holder for this display. |
void |
setStopAnimationsOnResize(boolean stopAnimationsOnResize)
Set the stopAnimationOnResize property, which determines whether animations in this view are stopped when a resize occurs and whether fastDrawing is used during resize. |
void |
setTimeDilationForAnimations(double dilationFactor)
Sets the speed for any animation that runs in this display. |
javax.swing.JSplitPane |
split(java.awt.Component newComponent)
Calls split(newComponent,false,false) . |
javax.swing.JSplitPane |
split(java.awt.Component newComponent,
boolean splitVertically,
boolean displayIsSecondComponent)
Replaces the display in its holder with a JSplitPane that contains the display and another component. |
void |
stopAnimation()
Stop any animation that is currently installed. |
void |
toggleAnimationPaused()
Pause the current animation, if it is currently running, or resume it if it is currently paused. |
void |
unsplit()
Removes the component added by split(Component) or split(Component, boolean, boolean) . |
Methods inherited from class javax.swing.JPanel |
---|
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI |
Methods inherited from class javax.swing.JComponent |
---|
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update |
Methods inherited from class java.awt.Container |
---|
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree |
Methods inherited from class java.awt.Component |
---|
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String FILMSTRIP_AVAILABLE_PROPERTY
public static final java.lang.String STATUS_PROPERTY
public static final java.lang.String STATUS_EMPTY
public static final java.lang.String STATUS_IDLE
public static final java.lang.String STATUS_ANIMATION_RUNNING
public static final java.lang.String STATUS_ANIMATION_PAUSED
public static final java.lang.String STATUS_ONE_SHOT_MOUSE_TASK
public static final int AUX_VIEW_ON_LEFT
public static final int AUX_VIEW_ON_RIGHT
public static final int AUX_VIEW_ON_TOP
public static final int AUX_VIEW_ON_BOTTOM
Constructor Detail |
---|
public Display()
Method Detail |
---|
public java.lang.String getStatus()
STATUS_PROPERTY
public Filmstrip getSavedFilmstrip()
public int getSavedFilmstripLooping()
public void install(View view, Exhibit exhibit)
setExhibit
method of the view, which in
turn will set up the View as a ChangeListener for the Exhibit. Users of these
classes should not have to worry about this make-work stuff.
Note that installing a view and exhibit will cancel any animation or mouse
task associated with the Display. It will also emove any extra components that
have been added by addBorderComponent(Component, Object)
or
split(Component)
. After calling this method, the status
of the Display will be STATUS_IDLE or STATUS_EMPTY.
Note: Calling this method ALWAYS removes any auxiliary view from the
display. Sett installAuxiliaryView(View, View)
.)
view
- The View to be installed. This can be null; If both parameters
are null, then any previously installed View is removed and no View is
associated with the Display. If the view parameter is null and the exhibit parameter is not, then the
default view for the exhibit is obtained by calling Exhibit.getDefaultView()
.exhibit
- An Exhibit for the View to draw. It should be an Exhibit that
the specified view is capable of drawing. If this parameter is not null and
the view parameter is null, then the default View for the Exhibit is used.
If the exhibit parameter is null and the view parameter is non-null and the view already
has an exhibit installed, then the exhibit is set to the view's current exhibit.public View getView()
installAuxiliaryView(View, View, int, double, boolean)
).
public boolean installAuxiliaryView(View mainView, View auxiliaryView)
installAuxiliaryView(mainView,auxiliaryView,Display.AUX_VIEW_ON_LEFT,0.5,false).
- Parameters:
mainView
- This parameter must equal the current main view of the display. If
not, nothing further is done and the return value of them method will be false.auxiliaryView
- The auxliary view that is to be installed to the left of the
main view in this Display.
- Returns:
- true if the auxiliary view is installed. The only case where the return value
is not true is if the mainView parameter in the method call does not match the current
main view in the display.
public boolean installAuxiliaryView(View mainView, View auxliaryView, int auxViewPosition, double fractionOfDisplay, boolean resizable)
mainView
- This parameter must equal the current main view of the display. If
not, nothing further is done and the return value of them method will be false.auxliaryView
- The auxliary view that is to be installed to the left of the
main view in this Display.auxViewPosition
- specifies where the extra view is placed in relation to the main
view. This must be one of the constants Display.AUX_VIEW_ON_LEFT, Display.AUX_VIEW_ON_RIGHT,
Display.AUX_VIEW_ON_TOP, or Display.AUX_VIEW_ON_BOTTOM. If not, an IllegalArgumentException
is thrown.fractionOfDisplay
- a number in the range 0.0 to 1.0 specifying the fraction of the
display that is to be occupied by the auxiliary view.resizable
- if true, then the user can drag the bar that separates the auxiliary
view from the main view in order to change the fraction of the display that is allocated
to the main view.
installAuxiliaryView(View, View)
public Exhibit getExhibit()
public void paintComponent(java.awt.Graphics g)
paintComponent
in class javax.swing.JComponent
protected void chooseCursor()
getCursor
method of the mouse task.
If neither of these is true, then the default cursor is used.
public void installAnimation(Animation anim)
anim
- The animation to be installed. If this is null, no animation is installed,
but any current animation or one-shot mouse task is still canceled.public void stopAnimation()
public void toggleAnimationPaused()
public void setTimeDilationForAnimations(double dilationFactor)
setTimeDilation
method of each animation. Note that this applies not
just the current animationn that is running in the display, but to any animation that
is installed in the future.
dilationFactor
- The time dilation factor for animations. The default value, 1, means
that animations run at normal speed. A factor of 2 means they run at half speed, of 3 means
that they run at 1/3 speed, and so on. It is also possible to speed up animations by using
a time dilation factor between 0 and 1, but speed-up is always limited by processing time
required by the animation.Animation.setTimeDilation(double)
public double getTimeDilationForAnimations()
setTimeDilationForAnimations(double)
public void discardFilmstrip()
public void playFilmstrip(Filmstrip filmstrip, int looping, java.awt.Dimension preferredSize)
filmstrip
- the filmstrip to be played. If this value is null, then
the method call is simply ignored.looping
- determines whether the filmstrip is played once through, or in a loop, or
oscillating back and forth. The value is one of TimerAnimation.LOOP
,
TimerAnimation.OSCILLATE
, or TimerAnimation.ONCE
.preferredSize
- If this is non-null, then the preferred size of the display
is set to this value. In the 3DXM application, this will cause the window to change
size. After the animation, the preferred size of the display is set to the size
of the display before the animation began (note: not the preferred size, which might
be different from the actual size).public void playFilmstrip()
public boolean getStopAnimationsOnResize()
setStopAnimationsOnResize(boolean)
public void setStopAnimationsOnResize(boolean stopAnimationsOnResize)
(This property was introduced only because resize events are generated when
the display is split and when components are added to or removed from the
"holder" (see getHolder()
). When either of these two actions is taken
at the time a view is installed in the display, the create animation will be stopped
by the resize event unless the stopAnimationOnResize property has been set to false.
This affects the ConformalMap category, where the display is split when the
exhibit is first installed, and ODE categories, where a control panel is added to
the holder when the exhibit is first installed.)
public void installMouseTask(MouseTask task)
Note that this installs the mouse task for the main view, in the case
where there is also an auxiliary view (see installAuxiliaryView(View, View)
).
If a one-shot mouse task is active (in the main view) when this method is installed, the one-shot mouse task is canceled.
public MouseTask getMouseTask()
installMouseTask(MouseTask)
or is installed automatically when
an Exhibit is installed. The value can be null.
Any one-shot mouse task, as installed
with installOneShotMouseTask(MouseTask)
, is not the value
that is returned here.
public void installAuxiliaryMouseTask(MouseTask task)
If a one-shot mouse task is active in the auxiliary view when this method is installed, the one-shot mouse task is canceled.
public void installOneShotMouseTask(MouseTask task)
MouseTask.wantsMoreClicks(Display, View)
method is called to see whether
it should be removed from the display.
This takes precedence over any default mouse task installed by the installMouseTask
method, but the default mouse task is restored after the one-shot mouse task is removed.
The one-shot mouse task will be canceled if an animation is installed, or if another
one-shot mouse task is installed, or if a new Exhbit is installed. Since animations
and one-shot mouse tasks are mutually exclusive, installing a one-shot mouse task
will cancel any animation that is currently running in the display.
Note that in the case where there is an auxiliary view in this display, this installs a mouse task that is active only in the main display. If the user clicks the auxiliary view while a one-shot mouse task is active in the main display, the user is told to click the main view instead.
installMouseTask(MouseTask)
public void installAuxiliaryOneShotMouseTask(MouseTask task)
MouseTask.wantsMoreClicks(Display, View)
method is called to see whether
it should be removed from the display.
This takes precedence over any default mouse task installed by the installAuxiliaryMouseTask
method, but the default mouse task is restored after the one-shot mouse task is removed.
The one-shot mouse task will be canceled if an animation is installed, or if another
one-shot mouse task is installed, or if a new Exhbit is installed. Since animations
and one-shot mouse tasks are mutually exclusive, installing a one-shot mouse task
will cancel any animation that is currently running in the display.
Note that this installs a one-shot mouse task that is active only in the main display. If the user clicks the main view while a one-shot mouse task is active in the auxiliary display, the user is told to click the main view instead.
installMouseTask(MouseTask)
,
installOneShotMouseTask(MouseTask)
protected void cancelMouseTasks()
public void setShowStatusBar(boolean show)
getHolder()
.
public boolean getShowStatusBar()
setShowStatusBar(boolean)
public java.lang.String getStatusText()
getHolder()
), then the
return value is null; otherwise, the return value is the text from the
JLabel that is used in the status bar of the holder. (This works even
if the status bar is currently hidden.)
public void setStatusText()
setStatusText(null)
.
setStatusText(String)
public void setStatusText(java.lang.String message)
getHolder()
),
then this method has no effect at all. If the parameter is null, then a status
string is obtained as follows: If there is no exhibit in the display, then the
status string is "No Exhiibt" (in the default English locale); otherwise if there is an
animation, the animation's Animation.getStatusText(boolean)
method is called
to get the status string, and if the return value is null the string "Animation Runing"
or "Animation Paused" is used; otherwise if there is a one-shot mouse task its
MouseTask.getStatusText()
method is called, and if the return value is null
then the string "Waiting for mouse input" is used; otherwise, if there is a mouse
task and if the MouseTask.getStatusText()
method in the mouse task returns
a non-null value, then that is used as the status string; otherwise, the
current view's View.getStatusText()
method is called and if it returns a non-null
value then that is used as the status text; otherwise, the status string is set
to the current exhibit's title. The idea to is provide a reasonable default string that
describes the current status, but to allow animations, mouse tasks, and views to
specify alternative strings as appropriate; this will probably be most useful
for one-shot mouse tasks. Note that the status string changes automatically when
a new exhibit, animation, mouse task, or one-shot mouse task is installed, and the
previous string is discarded. It will be relatively rare to call this method
directly.
message
- the string to be displayed in the status bar, or null to construct
a string based on the current state of the display.public void addBorderComponent(java.awt.Component c, java.lang.Object position)
getHolder()
. This method adds a component in
the north, south, east, or west postions of the holder's BorderLayout.
c
- the component to be added. This should be non-null.position
- specifies the position to be occupied by the component. Must be one of the
values BorderLayout.NORTH, BorderLayout.EAST, BorderLayout.WEST, or BorderLayout.SOUTH. If
the value is BorderLayout.SOUTH, the status bar that usually occupies that postion will be
removed, the showStatusBar property will be set to false, and the new component will be placed
in the south position. You should be careful not to add two components in the same position;
no error-checking is done to prevent this.
java.lang.IllegalArgumentException
- if position is not one of the four legal valuespublic void removeBorderComponent(java.awt.Component c)
getHolder()
).
c
- the component to be removed. Presumably, this is a component that has been
added to the holder by calling addBorderComponent(Component, Object)
, but no
error checking is done. The holder's remove() method is simply called with c as
its parameter.public javax.swing.JSplitPane split(java.awt.Component newComponent)
split(newComponent,false,false)
.
split(Component, boolean, boolean)
public javax.swing.JSplitPane split(java.awt.Component newComponent, boolean splitVertically, boolean displayIsSecondComponent)
getHolder()
. If the
display has aleady been split, the previous JSplitPane and its extra component are thrown away.
Note that split(Component)
calls this method with the most likly value (false) for the second
and third parameters.
newComponent
- the other component, in addition to the display, that will replace the display
in the center position of the holdersplitVertically
- if true, the JSplitPane is split vertically; if false, it is split horizontallydisplayIsSecondComponent
- if true, the display is in the right or bottom position of the split pane;
if false, it is in the left or top position
public void unsplit()
split(Component)
or split(Component, boolean, boolean)
.
Has no effect if no such component has been added.
public void resetHolder()
install(View, Exhibit)
. Has no effect if no holder has been created
for this display.
getHolder()
public java.awt.Container getHolder()
setShowStatusBar(boolean)
.
Other components can be added to the holder using addBorderComponent(Component, Object)
,
split(Component)
, and split(Component, boolean, boolean)
. The holder
uses black as its background color with gaps of 1 pixel between the components that it contains.
When a new exhibit is installed (including when the exhibit is set to null), the holder is
restored to its default state (BorderLayout with 1-pixel gaps, black background, display in center
postion, and staus bar in south postion if the showStatusBar property is true).
public void processComponentEvent(java.awt.event.ComponentEvent evt)
processComponentEvent
in class java.awt.Component
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |