verinec.gui.core
Class NwNode

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JLabel
                  extended by verinec.gui.core.NwComponent
                      extended by verinec.gui.core.NwNode
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible, SwingConstants
Direct Known Subclasses:
NwHub, PCNode

public abstract class NwNode
extends NwComponent

Handles common events of the hubs and the nodes. Adds the coordinates to the definition XML if they do not yet exist.

Author:
Renato Loeffel
See Also:
Serialized Form

Nested Class Summary
(package private)  class NwNode.MoveKeyListener
          Listener for keyboard typing.
 
Nested classes/interfaces inherited from class verinec.gui.core.NwComponent
NwComponent.Mouse
 
Nested classes/interfaces inherited from class javax.swing.JLabel
JLabel.AccessibleJLabel
 
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.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
protected  boolean dragged
          Whether the node is currently being moved with the mouse.
private static Random generator
           
 
Fields inherited from class verinec.gui.core.NwComponent
componentIcon, componentIconNeg, config, drawPanel, gui, pos, selection, type
 
Fields inherited from class javax.swing.JLabel
labelFor
 
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 javax.swing.SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
protected NwNode(Element config, float factor, String iconPath, VerinecStudio gui, int type)
          Passes the parameters to the super class.
 
Method Summary
protected  void addNodeinfoElement(int posX, int posY)
          Adds the layout tag to the defintionelement of the component.
protected static Element createNodeInfo(Element config, int x, int y)
          Create the node layout information and add it to the config.
protected  Element getLayoutChild(Element config)
          Extract the node gui information child from the configuration, add a default if necessary.
 void initialize()
          Lets the super class perform the initialization, then re-adds the mouse listeners.
 void resizeComponent(float factor)
          Resizes the node, adjusting it to its new size and also moves it to the right location if we zoom in or out.
 void setBounds(int x, int y, int w, int h)
          Set the position and size of the node.
 
Methods inherited from class verinec.gui.core.NwComponent
addContextMenu, addContextMenuSeparator, changeIcon, delete, getAbsX, getAbsY, getConfig, getDefaultSize, getRandomId, getType, isSelected, moveComponent, resizeDefaultSize, setBounds, setLocation, setLocation, setSelected, showIcon
 
Methods inherited from class javax.swing.JLabel
checkHorizontalKey, checkVerticalKey, getAccessibleContext, getDisabledIcon, getDisplayedMnemonic, getDisplayedMnemonicIndex, getHorizontalAlignment, getHorizontalTextPosition, getIcon, getIconTextGap, getLabelFor, getText, getUI, getUIClassID, getVerticalAlignment, getVerticalTextPosition, imageUpdate, paramString, setDisabledIcon, setDisplayedMnemonic, setDisplayedMnemonic, setDisplayedMnemonicIndex, setHorizontalAlignment, setHorizontalTextPosition, setIcon, setIconTextGap, setLabelFor, setText, setUI, setVerticalAlignment, setVerticalTextPosition, 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, 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, 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, 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, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, 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

generator

private static Random generator

dragged

protected boolean dragged
Whether the node is currently being moved with the mouse.

Constructor Detail

NwNode

protected NwNode(Element config,
                 float factor,
                 String iconPath,
                 VerinecStudio gui,
                 int type)
Passes the parameters to the super class.

Parameters:
config - The XML config element of the component. If you have none, use createElement to produce one.
factor - A ratio to the default size.
iconPath - The location where the icon can be found.
gui - The main application.
type - The network type of this node.
Method Detail

initialize

public void initialize()
Lets the super class perform the initialization, then re-adds the mouse listeners.

Overrides:
initialize in class NwComponent

getLayoutChild

protected Element getLayoutChild(Element config)
Extract the node gui information child from the configuration, add a default if necessary.

Specified by:
getLayoutChild in class NwComponent
Parameters:
config - The network xml object.
Returns:
A gui element from configuration namespace.

setBounds

public void setBounds(int x,
                      int y,
                      int w,
                      int h)
Set the position and size of the node. Update the meta information with the new coordinates.

Overrides:
setBounds in class NwComponent
Parameters:
x - Top left corner x coordinate
y - Top left corner y coordinate
w - With of component
h - Height of component

resizeComponent

public void resizeComponent(float factor)
Resizes the node, adjusting it to its new size and also moves it to the right location if we zoom in or out. Overwrites NwComponent.resizeComponent(float) to also move the node.

Overrides:
resizeComponent in class NwComponent
Parameters:
factor - the resize factor for the icon.

addNodeinfoElement

protected void addNodeinfoElement(int posX,
                                  int posY)
Adds the layout tag to the defintionelement of the component.

This tag contains the coordinates of the component. Take care to normalise them to zoom factor 1 before calling this method.

Parameters:
posX - the x position that shall be added.
posY - the y position that shall be added.

createNodeInfo

protected static Element createNodeInfo(Element config,
                                        int x,
                                        int y)
Create the node layout information and add it to the config.

Parameters:
config - The node configuration the node info will be attached to.
x - coordinate.
y - coordinate.
Returns:
The generated node information element.

Copyright © 2005 Verinec, DIUF