fi.utu.cs.appearance
Class ShapeView

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JPanel
                          |
                          +--fi.utu.cs.appearance.ShapeView
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public class ShapeView
extends javax.swing.JPanel

A Swing component that displays a list of Shapable objects. The list determines the sequence in which the objects are rendered (i.e., the subsequent objects are rendered over the currently rendered ones). If the object is an instance of the class MultiShapable, the shapable object given by its iterator are rendered first followed by the shapable object itself. The view is associated with a zoom factor by which the coordinates are scaled when transformed to the screen. The coordinate system can be either traditional screen coordinate system, where the y axis points down, or normal coordinate system, where the y axis points up.

See Also:
Shapable, MultiShapable, Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
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
 
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
ShapeView()
          Creates a view.
ShapeView(java.util.List s)
          Creates a view to the shapable list s.
ShapeView(java.util.List s, double z)
          Creates a view to the shapable list s with the zoom factor z.
ShapeView(java.util.List s, double z, boolean c)
          Creates a view to the shapable list s with the zoom factor z using the screen coordinate system if c == true or the normal coordinate system if c == false.
 
Method Summary
 double getZoomFactor()
          Returns the zoom factor associated with this view.
 boolean isNormalCoordinateSystem()
          Returns true if the view uses the normal coordinate system.
 boolean isScreenCoordinateSystem()
          Returns true if the view uses the screen coordinate system.
 void paintComponent(java.awt.Graphics g)
          Draws the view when invoked by Swing.
 void setNormalCoordinateSystem()
          Sets the normal coordinate system to this view.
 void setRotated()
           
 void setScreenCoordinateSystem()
          Sets the screen coordinate system to this view.
 void setShapes(java.util.List s)
          Sets the shapable list to s.
 void setVisibleRegion(java.awt.geom.Rectangle2D r)
          Sets the visible region to the rectangle r.
 void setZoomFactor(double z)
          Sets the zoom factor to z.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
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, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getWidth, getVisibleRect, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, 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
 
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
 

Constructor Detail

ShapeView

public ShapeView()
Creates a view. The zoom factor is 1.0 and the view uses the screen coordinate system.


ShapeView

public ShapeView(java.util.List s)
Creates a view to the shapable list s. The zoom factor is 1.0 and the view uses the screen coordinate system.


ShapeView

public ShapeView(java.util.List s,
                 double z)
Creates a view to the shapable list s with the zoom factor z. The view uses the screen coordinate system.


ShapeView

public ShapeView(java.util.List s,
                 double z,
                 boolean c)
Creates a view to the shapable list s with the zoom factor z using the screen coordinate system if c == true or the normal coordinate system if c == false.

Method Detail

setRotated

public void setRotated()

getZoomFactor

public double getZoomFactor()
Returns the zoom factor associated with this view.


setZoomFactor

public void setZoomFactor(double z)
Sets the zoom factor to z.


isScreenCoordinateSystem

public boolean isScreenCoordinateSystem()
Returns true if the view uses the screen coordinate system.

See Also:
setScreenCoordinateSystem(), setNormalCoordinateSystem()

isNormalCoordinateSystem

public boolean isNormalCoordinateSystem()
Returns true if the view uses the normal coordinate system.

See Also:
setScreenCoordinateSystem(), setNormalCoordinateSystem()

setScreenCoordinateSystem

public void setScreenCoordinateSystem()
Sets the screen coordinate system to this view.


setNormalCoordinateSystem

public void setNormalCoordinateSystem()
Sets the normal coordinate system to this view.


setVisibleRegion

public void setVisibleRegion(java.awt.geom.Rectangle2D r)
Sets the visible region to the rectangle r.


setShapes

public void setShapes(java.util.List s)
Sets the shapable list to s.


paintComponent

public void paintComponent(java.awt.Graphics g)
Draws the view when invoked by Swing. Applications should not invoke this method directly, but should instead use the inherited repaint method to schedule the view for redrawing.

Overrides:
paintComponent in class javax.swing.JComponent
See Also:
Component.repaint()