at.tuwien.ifs.somtoolbox.util.mnemonic
Class MapPanel

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 at.tuwien.ifs.somtoolbox.util.mnemonic.MapPanel
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible

public class MapPanel
extends JPanel

Version:
$Id: MapPanel.java 3587 2010-05-21 10:35:33Z mayer $
Author:
Rudolf Mayer
See Also:
Serialized Form

Nested Class Summary
(package private)  class MapPanel.DragListener
           
 
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
private  double aspectRatio
           
private  BufferedImage backgroundImageMap
           
static int BORDER
           
private  MapPanel.DragListener dragListener
           
static int initialHeight
           
static int initialWidth
           
protected  EventListenerList listenerList
           
private  double nodeDiameter
           
private  double nodeSpacingX
           
private  double nodeSpacingY
           
private static long serialVersionUID
           
private  boolean[][] toDraw
           
private  double zoomAspect
           
private  int zoomedHeight
           
private  int zoomedWidth
           
 
Fields inherited from class javax.swing.JComponent
accessibleContext, 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
MapPanel(boolean[][] toDraw)
           
MapPanel(boolean[][] toDraw, String image)
           
MapPanel(int totalNodes, String image)
           
 
Method Summary
 void addChangeListener(ChangeListener l)
           
 void createNodes(int totalNodes)
           
protected  void fireChangeEvent()
           
 Dimension getMinimumSize()
           
 int getNodeCount()
           
 Dimension getPreferredSize()
           
 boolean[][] getToDraw()
           
private  int getXPos(int col)
           
private  int getYPos(int row)
           
private  void invertNode(int nodeX, int nodeY)
           
private  void jbInit()
           
 void paint(Graphics g)
           
 void processAreaSelection(double startX, double startY, double endX, double endY)
           
 void processMouseClick(double x, double y)
           
private  void registerListeners()
           
 void removeChangeListener(ChangeListener l)
           
 File saveScreenToImage(File file)
           
private  void setNodes()
           
 
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, getBaseline, getBaselineResizeBehavior, 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, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintComponent, 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

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values

BORDER

public static int BORDER

initialWidth

public static int initialWidth

initialHeight

public static int initialHeight

listenerList

protected EventListenerList listenerList

dragListener

private MapPanel.DragListener dragListener

backgroundImageMap

private BufferedImage backgroundImageMap

toDraw

private boolean[][] toDraw

aspectRatio

private double aspectRatio

nodeDiameter

private double nodeDiameter

nodeSpacingX

private double nodeSpacingX

nodeSpacingY

private double nodeSpacingY

zoomAspect

private double zoomAspect

zoomedHeight

private int zoomedHeight

zoomedWidth

private int zoomedWidth
Constructor Detail

MapPanel

public MapPanel(boolean[][] toDraw,
                String image)

MapPanel

public MapPanel(boolean[][] toDraw)

MapPanel

public MapPanel(int totalNodes,
                String image)
Method Detail

createNodes

public void createNodes(int totalNodes)

setNodes

private void setNodes()

getYPos

private int getYPos(int row)
Parameters:
row - the row
Returns:
the vertical position on the screen

getXPos

private int getXPos(int col)
Parameters:
col - the column
Returns:
the horizontal position on the screen

paint

public void paint(Graphics g)
Overrides:
paint in class JComponent

jbInit

private void jbInit()

registerListeners

private void registerListeners()

processMouseClick

public void processMouseClick(double x,
                              double y)

invertNode

private void invertNode(int nodeX,
                        int nodeY)
Parameters:
nodeX - x-pos of the node to invert
nodeY - y-pos of the node to invert

fireChangeEvent

protected void fireChangeEvent()

processAreaSelection

public void processAreaSelection(double startX,
                                 double startY,
                                 double endX,
                                 double endY)

saveScreenToImage

public File saveScreenToImage(File file)

addChangeListener

public void addChangeListener(ChangeListener l)

removeChangeListener

public void removeChangeListener(ChangeListener l)

getPreferredSize

public Dimension getPreferredSize()
Overrides:
getPreferredSize in class JComponent

getMinimumSize

public Dimension getMinimumSize()
Overrides:
getMinimumSize in class JComponent

getToDraw

public boolean[][] getToDraw()

getNodeCount

public int getNodeCount()