com.tensegrity.gui.swing.graph
Class NavigatorPanel

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JPanel
                  extended bycom.tensegrity.gui.swing.graph.NavigatorPanel
All Implemented Interfaces:
javax.accessibility.Accessible, CompositeNavigator.ColorListener, java.awt.image.ImageObserver, java.awt.MenuContainer, Observer, java.io.Serializable

public class NavigatorPanel
extends javax.swing.JPanel
implements Observer, CompositeNavigator.ColorListener

The NavigatorPanel is a JPanel-based Swing component that uses a CompositeNavigator, so that it can be used within the application GUI. Moreover, it contains a Renderer and a renderer configuration so that the level of detail and the interaction behavior can be altered.

Version:
$Id: NavigatorPanel.java,v 1.60 2005/10/26 14:43:57 KevinCVS Exp $
Author:
MichaelKegel, BurkhardWick
See Also:
Serialized Form

Nested Class Summary
protected  class NavigatorPanel.NavigatorPanelLayout
          This layoutmanager sets the bounds of the internal NavigatorPanel#navigator according to the outer panels size.
 
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
NavigatorPanel()
          Constructor for NavigatorPanel.
 
Method Summary
 void addZoomValueListener(CompositeNavigator.ZoomValueListener listener)
          Registers the CompositeNavigator.ZoomValueListener given by listener at the underlying CompositeNavigator so that the CompositeNavigator.ZoomValueListener will be notified on every zoom change the CompositeNavigator performs to the associated CompositeView.
 void backgroundChanged(PaintFormat newPaint)
          Called whenever the PaintFormat for the background changed.
 void clearColorOverride()
          Clears the color override, so the colors from the LookAndFeel are used for the navigator.
 CompositeNavigator getCompositeNavigator()
          Returns an instance of a CompositeNavigator
static AttributeSet getRendererConfiguration()
          Returns the AttributeSet that can be used to configure the rendering settings that used by all instances of NavigatorPanel during user-interaction.
 boolean isUpdateDuringActing()
          Query whether this NavigatorPanel is updating during action of its CompositeNavigatorProvider.
 void paintComponent(java.awt.Graphics gfx)
           
 void removeZoomValueListener(CompositeNavigator.ZoomValueListener listener)
          Removes the CompositeNavigator.ZoomValueListener given by listener from the underlying CompositeNavigator so that the CompositeNavigator.ZoomValueListener will no longer be notified on zoom changes the CompositeNavigator performs to the associated CompositeView.
 void setUpdateDuringActing(boolean updateDuringActing)
          Configure whether this NavigatorPanel is updating during action of its CompositeNavigatorProvider.
 void update(Observable o, java.lang.Object arg)
          The callback method of an observer that is invoked by the Observable each time the state has changed.
 void updateUI()
          Updates the UI according to JPanel's updateUI and checks wether the Navigator.background attribute is set, if so, this color is used for the CompositeNavigator otherwise the default color is used.
 void viewportBackgroundChanged(PaintFormat newPaint)
          Called whenever the PaintFormat for the view region changed.
 void viewportBorderChanged(StrokeFormat newStroke)
          Called whenever the StrokeFormat for the view region border changed.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI
 
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, getVisibleRect, getWidth, 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

NavigatorPanel

public NavigatorPanel()
Constructor for NavigatorPanel.

Method Detail

getRendererConfiguration

public static final AttributeSet getRendererConfiguration()
Returns the AttributeSet that can be used to configure the rendering settings that used by all instances of NavigatorPanel during user-interaction.

Returns:
the AttributeSet for rendering configuration.
See Also:
RendererConfiguration

setUpdateDuringActing

public void setUpdateDuringActing(boolean updateDuringActing)
Configure whether this NavigatorPanel is updating during action of its CompositeNavigatorProvider. If set to false, then during acting the navigator is not updated, which may result in improved performance.

Parameters:
updateDuringActing - The state to set

isUpdateDuringActing

public boolean isUpdateDuringActing()
Query whether this NavigatorPanel is updating during action of its CompositeNavigatorProvider.

Returns:
true, if the option is turned on

getCompositeNavigator

public CompositeNavigator getCompositeNavigator()
Returns an instance of a CompositeNavigator

Returns:
CompositeNavigator an instance of CompositeNavigator

addZoomValueListener

public void addZoomValueListener(CompositeNavigator.ZoomValueListener listener)
Registers the CompositeNavigator.ZoomValueListener given by listener at the underlying CompositeNavigator so that the CompositeNavigator.ZoomValueListener will be notified on every zoom change the CompositeNavigator performs to the associated CompositeView.

Parameters:
listener - the CompositeNavigator.ZoomValueListener to register

removeZoomValueListener

public void removeZoomValueListener(CompositeNavigator.ZoomValueListener listener)
Removes the CompositeNavigator.ZoomValueListener given by listener from the underlying CompositeNavigator so that the CompositeNavigator.ZoomValueListener will no longer be notified on zoom changes the CompositeNavigator performs to the associated CompositeView.

Parameters:
listener - the CompositeNavigator.ZoomValueListener to remove

update

public void update(Observable o,
                   java.lang.Object arg)
Description copied from interface: Observer
The callback method of an observer that is invoked by the Observable each time the state has changed.

Specified by:
update in interface Observer
Parameters:
o - the observable that triggered the call.
arg - an object carrying additional information.

updateUI

public void updateUI()
Updates the UI according to JPanel's updateUI and checks wether the Navigator.background attribute is set, if so, this color is used for the CompositeNavigator otherwise the default color is used.

See Also:
JPanel.updateUI()

paintComponent

public void paintComponent(java.awt.Graphics gfx)

backgroundChanged

public void backgroundChanged(PaintFormat newPaint)
Description copied from interface: CompositeNavigator.ColorListener
Called whenever the PaintFormat for the background changed.

Specified by:
backgroundChanged in interface CompositeNavigator.ColorListener
Parameters:
newPaint - The new PaintFormat

viewportBackgroundChanged

public void viewportBackgroundChanged(PaintFormat newPaint)
Description copied from interface: CompositeNavigator.ColorListener
Called whenever the PaintFormat for the view region changed.

Specified by:
viewportBackgroundChanged in interface CompositeNavigator.ColorListener
Parameters:
newPaint - The new PaintFormat

viewportBorderChanged

public void viewportBorderChanged(StrokeFormat newStroke)
Description copied from interface: CompositeNavigator.ColorListener
Called whenever the StrokeFormat for the view region border changed.

Specified by:
viewportBorderChanged in interface CompositeNavigator.ColorListener
Parameters:
newStroke - The new StrokeFormat

clearColorOverride

public void clearColorOverride()
Clears the color override, so the colors from the LookAndFeel are used for the navigator. An override is set whenever a color is set to the CompositeNavigator directly by using these methods: CompositeNavigator.setPaint(PaintFormat) CompositeNavigator.setViewportRectPaint(PaintFormat) CompositeNavigator.setViewportRectStroke(StrokeFormat)



Copyright © 2005 Tensegrity Software GmbH. All Rights Reserved. Date of creation: 09.06.2006.