org.ascape.view.vis
Class AgentSizedView

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by org.ascape.view.vis.PanelView
                      extended by org.ascape.view.vis.BufferView
                          extended by org.ascape.view.vis.AgentView
                              extended by org.ascape.view.vis.AgentSizedView
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Externalizable, java.io.Serializable, java.lang.Cloneable, java.util.EventListener, java.util.Observer, javax.accessibility.Accessible, ScapeListener, HasName, ComponentView
Direct Known Subclasses:
CellView

public abstract class AgentSizedView
extends AgentView

A generic base class for views that draw some kind of spatial view of a group of cells. Cell views have a default draw feature that draws a background for the cell, using the cell color feature.

Since:
3.0
Version:
3.0
Author:
Miles Parker
See Also:
Serialized Form

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
protected  int agentSize
          Size of each individual cell, typically in pixels.
 
Fields inherited from class org.ascape.view.vis.AgentView
agentColorFeature, agentCustomizer, clearBackgroundAutomatically, drawSelection, updateAllRequested
 
Fields inherited from class org.ascape.view.vis.BufferView
bufferedGraphics, bufferedImage
 
Fields inherited from class org.ascape.view.vis.PanelView
delegate, iterationsPerRedraw, name, scape
 
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
AgentSizedView()
          Instantiates a new agent sized view.
AgentSizedView(java.lang.String name)
          Instantiates a new agent sized view.
 
Method Summary
 void addNotify()
          Override addNotify to build buffer.
 void build()
          Called to create and layout the components of the component view, once the view's scape has been created.
 int calculateAgentSizeForViewSize(java.awt.Dimension d)
          Calculate agent size for view size.
 java.awt.Dimension calculateViewSizeForAgentSize(int agentSize)
          Calculate view size for agent size.
 int getAgentSize()
          Returns a one-dimension size of pixels used to represent each cell.
 java.awt.Dimension getPreferredSizeWithin(java.awt.Dimension d)
          Default behavior for a component.
 void readExternal(java.io.ObjectInput in)
          The object implements the readExternal method to restore its contents by calling the methods of DataInput for primitive types and readObject for objects, strings and arrays.
 void scapeAdded(ScapeEvent scapeEvent)
          Notifies the listener that the scape has added it.
 void setAgentSize(int cellSize)
          Sets the number of pixels used to represent each cell.
 void setBounds(int x, int y, int width, int height)
           
 void writeExternal(java.io.ObjectOutput out)
          The object implements the writeExternal method to save its contents by calling the methods of DataOutput for its primitive values or calling the writeObject method of ObjectOutput for objects, strings, and arrays.
 
Methods inherited from class org.ascape.view.vis.AgentView
addDrawFeature, createAgentCustomizer, createAgentCustomizerPanel, displayAgentCustomizer, displayCustomizer, drawSelectedAgent, drawSelectedAgent, getAgentAtPixel, getAgentColorFeature, getAgentCustomizer, getDrawFeatures, getDrawFeaturesObservable, getDrawSelection, isClearBackground, paintComponent, removeAgentCustomizer, removeCustomizer, removeDrawFeature, requestUpdateAll, scapeStarted, setAgentColorFeature, setAgentCustomizer, setClearBackground, setCustomizeAgent, update, updateScapeGraphics
 
Methods inherited from class org.ascape.view.vis.BufferView
buildGraphicsBuffer, finalize, getBufferedImage, imageUpdate, setBufferedImage
 
Methods inherited from class org.ascape.view.vis.PanelView
clone, environmentQuiting, forceScapeNotify, getDelegate, getIcon, getIterationsPerRedraw, getName, getScape, getViewFrame, iconUpdated, isGraphic, isLifeOfScape, notifyScapeUpdated, onChangeIterationsPerRedraw, scapeClosing, scapeDeserialized, scapeInitialized, scapeIterated, scapeNotification, scapeRemoved, scapeSetup, scapeStopped, setDelegate, setIterationsPerRedraw, setMovieRecorder, setName, setViewFrame, toString
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, 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, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, 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, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setSize, setSize, show, show, size, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

agentSize

protected int agentSize
Size of each individual cell, typically in pixels. 6 by default.

Constructor Detail

AgentSizedView

public AgentSizedView()
Instantiates a new agent sized view.


AgentSizedView

public AgentSizedView(java.lang.String name)
Instantiates a new agent sized view.

Parameters:
name - the name
Method Detail

addNotify

public void addNotify()
Override addNotify to build buffer.

Overrides:
addNotify in class BufferView

build

public void build()
Description copied from class: AgentView
Called to create and layout the components of the component view, once the view's scape has been created.

Specified by:
build in interface ComponentView
Overrides:
build in class AgentView

scapeAdded

public void scapeAdded(ScapeEvent scapeEvent)
                throws java.util.TooManyListenersException
Notifies the listener that the scape has added it. Override to set draw network on if the scape is a small world.

Specified by:
scapeAdded in interface ScapeListener
Overrides:
scapeAdded in class AgentView
Parameters:
scapeEvent - the scape added notification event
Throws:
java.util.TooManyListenersException - the too many listeners exception
java.util.TooManyListenersException - on attempt to add this listener to another scape when one has already been assigned

calculateViewSizeForAgentSize

public java.awt.Dimension calculateViewSizeForAgentSize(int agentSize)
Calculate view size for agent size.

Parameters:
agentSize - the agent size
Returns:
the dimension

calculateAgentSizeForViewSize

public int calculateAgentSizeForViewSize(java.awt.Dimension d)
Calculate agent size for view size.

Parameters:
d - the d
Returns:
the int

getPreferredSizeWithin

public java.awt.Dimension getPreferredSizeWithin(java.awt.Dimension d)
Description copied from class: PanelView
Default behavior for a component. Simply returns same size.

Specified by:
getPreferredSizeWithin in interface ComponentView
Overrides:
getPreferredSizeWithin in class PanelView
Parameters:
d - the d
Returns:
the preferred size within

setBounds

public void setBounds(int x,
                      int y,
                      int width,
                      int height)
Overrides:
setBounds in class BufferView

getAgentSize

public int getAgentSize()
Returns a one-dimension size of pixels used to represent each cell.

Returns:
the agent size

setAgentSize

public void setAgentSize(int cellSize)
Sets the number of pixels used to represent each cell.

Parameters:
cellSize - number of pixels per edge

writeExternal

public void writeExternal(java.io.ObjectOutput out)
                   throws java.io.IOException
The object implements the writeExternal method to save its contents by calling the methods of DataOutput for its primitive values or calling the writeObject method of ObjectOutput for objects, strings, and arrays.

Specified by:
writeExternal in interface java.io.Externalizable
Overrides:
writeExternal in class AgentView
Parameters:
out - the stream to write the object to
Throws:
java.io.IOException - Signals that an I/O exception has occurred.
java.io.IOException - Includes any I/O exceptions that may occur

readExternal

public void readExternal(java.io.ObjectInput in)
                  throws java.io.IOException,
                         java.lang.ClassNotFoundException
The object implements the readExternal method to restore its contents by calling the methods of DataInput for primitive types and readObject for objects, strings and arrays. The readExternal method must read the values in the same sequence and with the same types as were written by writeExternal.

Specified by:
readExternal in interface java.io.Externalizable
Overrides:
readExternal in class AgentView
Parameters:
in - the stream to read data from in order to restore the object
Throws:
java.io.IOException - Signals that an I/O exception has occurred.
java.lang.ClassNotFoundException - the class not found exception
java.io.IOException - if I/O errors occur
java.lang.ClassNotFoundException - If the class for an object being restored cannot be found.


Copyright © 1998-2008 The Brookings Institution, NuTech Solutions, Metascape, LLC All Rights Reserved.