view
Class DisplayPanel

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 view.DisplayPanel
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.Scrollable, DisplayViewport.Pannable

public class DisplayPanel
extends javax.swing.JPanel
implements javax.swing.Scrollable, DisplayViewport.Pannable

Panel to display the environment.

Author:
Mathias Ricken
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
(package private)  int _cellSize
          Cell size.
(package private)  IDisplayAdapter _displayAdapter
          Display adapter.
(package private)  IEnvAdapter _envAdapter
          Environment adapter.
(package private)  java.awt.event.MouseAdapter _mouseAdapter
          Mouse adapter for editing.
(package private)  double _originX
          Origin column.
(package private)  double _originY
          Origin row.
private  boolean _toolTipsEnabled
          State of tool tips.
private static int DEFAULT_CELL_SIZE
           
private static int MIN_CELL_SIZE
           
 
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
DisplayPanel(IDisplayAdapter da, IEnvAdapter ea)
          Make a new display panel.
 
Method Summary
 void enableMouseAdapter(boolean enable)
          Enable or disable the mouse adapter for editing.
 int getCellSize()
          Return the current cell size.
 java.awt.Dimension getMinimumSize()
          Returns the minimum size of the display, for use by layout manager.
 java.lang.String getPanTipText()
          Get the tool tip text for panning.
 java.awt.Dimension getPreferredScrollableViewportSize()
           
 java.awt.Dimension getPreferredSize()
          Returns the desired size of the display, for use by layout manager.
 int getScrollableBlockIncrement(java.awt.Rectangle visibleRect, int orientation, int direction)
           
 boolean getScrollableTracksViewportHeight()
           
 boolean getScrollableTracksViewportWidth()
           
 int getScrollableUnitIncrement(java.awt.Rectangle visibleRect, int orientation, int direction)
           
 java.lang.String getToolTipText(java.awt.event.MouseEvent evt)
          Given a MouseEvent, determine what text to place in the floating tool tip when the the mouse hovers over this location.
 void paintComponent(java.awt.Graphics g)
          Paint this component.
 void pan(double dx, double dy)
          Pan the panel by the specified amount of pixels.
 void resetPan()
          Reset the pan.
 void setCorner(int x, int y)
          Make field (x,y) visible in top left corner.
 void setToolTipsEnabled(boolean flag)
          Enable or disable showing of tooltip giving information about the environment object beneath the mouse.
 void zoomIn()
          Zoom in.
 void zoomOut()
          Zoom out.
 
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, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, 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, processComponentEvent, 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
 

Field Detail

MIN_CELL_SIZE

private static final int MIN_CELL_SIZE
See Also:
Constant Field Values

DEFAULT_CELL_SIZE

private static final int DEFAULT_CELL_SIZE
See Also:
Constant Field Values

_displayAdapter

IDisplayAdapter _displayAdapter
Display adapter.


_cellSize

int _cellSize
Cell size.


_originX

double _originX
Origin column.


_originY

double _originY
Origin row.


_mouseAdapter

java.awt.event.MouseAdapter _mouseAdapter
Mouse adapter for editing.


_toolTipsEnabled

private boolean _toolTipsEnabled
State of tool tips.


_envAdapter

IEnvAdapter _envAdapter
Environment adapter.

Constructor Detail

DisplayPanel

public DisplayPanel(IDisplayAdapter da,
                    IEnvAdapter ea)
Make a new display panel.

Parameters:
da - display adapter to use
ea - environment adapter to use
Method Detail

enableMouseAdapter

public void enableMouseAdapter(boolean enable)
Enable or disable the mouse adapter for editing.

Parameters:
enable - true to enable

setToolTipsEnabled

public void setToolTipsEnabled(boolean flag)
Enable or disable showing of tooltip giving information about the environment object beneath the mouse.

Parameters:
flag - whether to enable/disable tool tips

getToolTipText

public java.lang.String getToolTipText(java.awt.event.MouseEvent evt)
Given a MouseEvent, determine what text to place in the floating tool tip when the the mouse hovers over this location. If the mouse is over a valid environment cell. we provide some information about the cell and its contents. This method is automatically called on mouse-moved events since we register for tool tips.

Overrides:
getToolTipText in class javax.swing.JComponent
Parameters:
evt - the MouseEvent in question
Returns:
the tool tip string for this location

zoomIn

public void zoomIn()
Zoom in.


zoomOut

public void zoomOut()
Zoom out.


setCorner

public void setCorner(int x,
                      int y)
Make field (x,y) visible in top left corner.

Parameters:
x - x-coordinate
y - y-coordinate

getPreferredSize

public java.awt.Dimension getPreferredSize()
Returns the desired size of the display, for use by layout manager.

Overrides:
getPreferredSize in class javax.swing.JComponent
Returns:
preferred size

getMinimumSize

public java.awt.Dimension getMinimumSize()
Returns the minimum size of the display, for use by layout manager.

Overrides:
getMinimumSize in class javax.swing.JComponent
Returns:
minimum size

getScrollableUnitIncrement

public int getScrollableUnitIncrement(java.awt.Rectangle visibleRect,
                                      int orientation,
                                      int direction)
Specified by:
getScrollableUnitIncrement in interface javax.swing.Scrollable

getScrollableBlockIncrement

public int getScrollableBlockIncrement(java.awt.Rectangle visibleRect,
                                       int orientation,
                                       int direction)
Specified by:
getScrollableBlockIncrement in interface javax.swing.Scrollable

getScrollableTracksViewportWidth

public boolean getScrollableTracksViewportWidth()
Specified by:
getScrollableTracksViewportWidth in interface javax.swing.Scrollable

getScrollableTracksViewportHeight

public boolean getScrollableTracksViewportHeight()
Specified by:
getScrollableTracksViewportHeight in interface javax.swing.Scrollable

getPreferredScrollableViewportSize

public java.awt.Dimension getPreferredScrollableViewportSize()
Specified by:
getPreferredScrollableViewportSize in interface javax.swing.Scrollable

paintComponent

public void paintComponent(java.awt.Graphics g)
Paint this component.

Overrides:
paintComponent in class javax.swing.JComponent
Parameters:
g - the Graphics object to use to render this component

pan

public void pan(double dx,
                double dy)
Pan the panel by the specified amount of pixels.

Specified by:
pan in interface DisplayViewport.Pannable
Parameters:
dx - horizontal pan in pixels
dy - vertical pan in pixels

getCellSize

public int getCellSize()
Return the current cell size.

Specified by:
getCellSize in interface DisplayViewport.Pannable
Returns:
cell size

resetPan

public void resetPan()
Reset the pan.

Specified by:
resetPan in interface DisplayViewport.Pannable

getPanTipText

public java.lang.String getPanTipText()
Get the tool tip text for panning.

Specified by:
getPanTipText in interface DisplayViewport.Pannable
Returns:
pan tool tip