sim.display
Class Display2D.InnerDisplay2D

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended bysim.display.Display2D.InnerDisplay2D
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable
Enclosing class:
Display2D

public class Display2D.InnerDisplay2D
extends javax.swing.JComponent

The object which actually does all the drawing. Perhaps we should move this out.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 java.awt.RenderingHints bufferedHints
          Hints used to draw the buffered image to the screen
 double height
          The height of the display when the scale is 1.0
 java.awt.RenderingHints unbufferedHints
          Hints used to draw objects to the screen or to a buffer
 double width
          The width of the display when the scale is 1.0
 double xOffset
          x offset
 double yOffset
          y offset
 
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
Display2D.InnerDisplay2D(double width, double height)
          Creates an InnerDisplay2D with the provided width and height.
 
Method Summary
 java.awt.Dimension getMaximumsize()
          Overloaded to return (width * scale, height * scale)
 java.awt.Dimension getMinimumSize()
          Overloaded to return (width * scale, height * scale)
 java.awt.Dimension getPreferredSize()
          Overloaded to return (width * scale, height * scale)
 java.awt.image.BufferedImage paint(java.awt.Graphics g, boolean buffered)
          Paints an image to the screen either buffered or unbuffered.
 void paintComponent(java.awt.Graphics g)
          Swing's equivalent of paint(Graphics g).
 void paintComponent(java.awt.Graphics g, boolean buffer)
          The top-level repainting method.
 void paintToMovie()
          Paints a movie, by writing it to the screen buffered, then encoding the buffer to disk.
 void setupHints(boolean antialias, boolean antialiasText, boolean niceAlphaInterpolation, boolean niceInterpolation)
          The default method for setting up the given hints.
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getNextFocusableComponent, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, 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, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, 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

width

public double width
The width of the display when the scale is 1.0


height

public double height
The height of the display when the scale is 1.0


xOffset

public double xOffset
x offset


yOffset

public double yOffset
y offset


unbufferedHints

public java.awt.RenderingHints unbufferedHints
Hints used to draw objects to the screen or to a buffer


bufferedHints

public java.awt.RenderingHints bufferedHints
Hints used to draw the buffered image to the screen

Constructor Detail

Display2D.InnerDisplay2D

public Display2D.InnerDisplay2D(double width,
                                double height)
Creates an InnerDisplay2D with the provided width and height.

Method Detail

getPreferredSize

public java.awt.Dimension getPreferredSize()
Overloaded to return (width * scale, height * scale)


getMinimumSize

public java.awt.Dimension getMinimumSize()
Overloaded to return (width * scale, height * scale)


getMaximumsize

public java.awt.Dimension getMaximumsize()
Overloaded to return (width * scale, height * scale)


paintToMovie

public void paintToMovie()
Paints a movie, by writing it to the screen buffered, then encoding the buffer to disk.


setupHints

public void setupHints(boolean antialias,
                       boolean antialiasText,
                       boolean niceAlphaInterpolation,
                       boolean niceInterpolation)
The default method for setting up the given hints. By default they suggest that Java2D emphasize efficiency over prettiness.


paintComponent

public void paintComponent(java.awt.Graphics g)
Swing's equivalent of paint(Graphics g). Called by repaint(). In turn calls paintComponent(g,false); You should not call this method directly. Instead you probably want to call paintComponent(Graphics, buffer).


paintComponent

public void paintComponent(java.awt.Graphics g,
                           boolean buffer)
The top-level repainting method. If we're writing to a movie, we do a paintToMovie (which also does a buffered paint to the screen) else we do an ordinary paint. buffer determines if we do our ordinary paints buffered or not.


paint

public java.awt.image.BufferedImage paint(java.awt.Graphics g,
                                          boolean buffered)
Paints an image to the screen either buffered or unbuffered. If buffered, the buffer is returned for your convenience. Synchronizes on the schedule; since we know that the schedule's step() method is synchronized on the schedule as well, this gives us a way to block this method from reading from the model until we know the model isn't being updated any more. However as you might guess, this also presents a deadlock opportunity if a scheduled