Class DisplayXM

  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by vmm.core.Display
                      extended by vmm.xm3d.DisplayXM
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible

public class DisplayXM
extends Display

A Display class for use in the 3DXM application, with a few extra features.

See Also:
Serialized Form

Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JPanel
Nested classes/interfaces inherited from class javax.swing.JComponent
Nested classes/interfaces inherited from class java.awt.Container
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
Field Summary
Fields inherited from class vmm.core.Display
Fields inherited from class javax.swing.JComponent
Fields inherited from class java.awt.Component
Fields inherited from interface java.awt.image.ImageObserver
Constructor Summary
          This constructor sets up handlers for several keystrokes, which will be processed by a DisplayXM whenever it is in a focussed window.
Method Summary
 void install(View view, Exhibit exhibit)
          Install a specified View and Exhibit into this Display.
 void paintComponent(java.awt.Graphics g)
          Draw the Exhibit, if any.
Methods inherited from class vmm.core.Display
addBorderComponent, cancelMouseTasks, chooseCursor, discardFilmstrip, getExhibit, getHolder, getMouseTask, getSavedFilmstrip, getSavedFilmstripLooping, getShowStatusBar, getStatus, getStatusText, getStopAnimationsOnResize, getTimeDilationForAnimations, getView, installAnimation, installAuxiliaryMouseTask, installAuxiliaryOneShotMouseTask, installAuxiliaryView, installAuxiliaryView, installMouseTask, installOneShotMouseTask, playFilmstrip, playFilmstrip, processComponentEvent, removeBorderComponent, resetHolder, setShowStatusBar, setStatusText, setStatusText, setStopAnimationsOnResize, setTimeDilationForAnimations, split, split, stopAnimation, toggleAnimationPaused, unsplit
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

Constructor Detail


public DisplayXM()
This constructor sets up handlers for several keystrokes, which will be processed by a DisplayXM whenever it is in a focussed window. Control-period, Meta-period, and Escape will cause any ongoing animation to be stopped. The space bar will pause/unpause any ongoing animation. Also, the first DisplayXM that is created will show a background image and greeting message until the first exhibit is installed.

Method Detail


public void install(View view,
                    Exhibit exhibit)
Description copied from class: Display
Install a specified View and Exhibit into this Display. If there is a previously installed View or Exhibit, it is removed first. This method is intended to do all the busy work that is necessary to associate a Display, a View, and an Exhibit. For example, it calls the 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 Display.addBorderComponent(Component, Object) or Display.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 Display.installAuxiliaryView(View, View).)

install in class Display
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 void paintComponent(java.awt.Graphics g)
Description copied from class: Display
Draw the Exhibit, if any. This method always draws the Exhibit using a graphics context in which the upper left corner is (0,0) and such that any Border that has been added to the display is not included in the drawing area of this graphics context. If a View is installed in the Display, then that view is responsible for all drawing. If not, the Display is simply filled with the white backgroun color.

paintComponent in class Display