se.entitymanager.presentation.swing
Class SwingDualTreePanel

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 se.entitymanager.presentation.swing.SwingDualTreePanel
All Implemented Interfaces:
java.awt.event.FocusListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible

public class SwingDualTreePanel
extends javax.swing.JPanel
implements java.awt.event.FocusListener

Main panel for presentation with Swing framework.

The class initializes two EntityTrees and display them side by side. EntityTreeCellRenderer is used for rendering and EntityTreeCellEditor for renaming.

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
private  EntityDetailPanel leftDetailPanel
          Detail panel for EntityTree
private  javax.swing.JPanel leftPanel
          Left panel with EntityTree and detail information for selected entity.
private  EntityTree leftTree
          Left EntityTree.
private  javax.swing.JScrollPane leftTreeScrollPane
          Scroll Pane for left EntityTree.
private  LogicFacade logicFacade
          The logic facade to access entities.
private  SwingPresentationFacade presentationFacade
          The presentation facade to which this object belongs,
private  EntityDetailPanel rightDetailPanel
          Right EntityTree.
private  javax.swing.JPanel rightPanel
          Right panel with EntityTree and detail information for selected entity.
private  EntityTree rightTree
          Right EntityTree.
private  javax.swing.JScrollPane rightTreeScrollPane
          Scroll Pane for right EntityTree.
private  EntityTreeNode rootNode
          Root node of entities.
private  EntityTreeCellRenderer treeCellRenderer
          CellRenderer used for rendering entities within the tree.
private  javax.swing.JSplitPane treeSplitPane
          Split pane for both tree panels
 
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
protected SwingDualTreePanel(SwingPresentationFacade presentationFacade)
          Constructs a presentation panel for a presentationFacade.
 
Method Summary
protected  EntityTree createEntityTree()
          Creates an entity tree.
private  void createGUI()
          Creates the GUI elements of frame.
 void focusGained(java.awt.event.FocusEvent e)
          If one of the two trees in the JSplitPane gains Focus, set this one as selected and deselect the other one.
 void focusLost(java.awt.event.FocusEvent e)
          Does nothing.
 EntityTree getLeftTree()
          Gets the left tree.
 EntityTree getRightTree()
          Gets the right tree.
 EntityTree getSelectedTree()
          Gets the selected tree.
 void reloadTrees()
          Update tree visualisation.
 
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, 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, 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

presentationFacade

private SwingPresentationFacade presentationFacade
The presentation facade to which this object belongs,


logicFacade

private LogicFacade logicFacade
The logic facade to access entities.


rootNode

private EntityTreeNode rootNode
Root node of entities.


leftPanel

private javax.swing.JPanel leftPanel
Left panel with EntityTree and detail information for selected entity.


leftTreeScrollPane

private javax.swing.JScrollPane leftTreeScrollPane
Scroll Pane for left EntityTree.


leftTree

private EntityTree leftTree
Left EntityTree.


leftDetailPanel

private EntityDetailPanel leftDetailPanel
Detail panel for EntityTree


rightPanel

private javax.swing.JPanel rightPanel
Right panel with EntityTree and detail information for selected entity.


rightTreeScrollPane

private javax.swing.JScrollPane rightTreeScrollPane
Scroll Pane for right EntityTree.


rightTree

private EntityTree rightTree
Right EntityTree.


rightDetailPanel

private EntityDetailPanel rightDetailPanel
Right EntityTree.


treeSplitPane

private javax.swing.JSplitPane treeSplitPane
Split pane for both tree panels


treeCellRenderer

private EntityTreeCellRenderer treeCellRenderer
CellRenderer used for rendering entities within the tree.

Constructor Detail

SwingDualTreePanel

protected SwingDualTreePanel(SwingPresentationFacade presentationFacade)
Constructs a presentation panel for a presentationFacade.

This panel contains two EntityTrees and two EntityDetailPanels.

Parameters:
presentationFacade - the presentation facade to use
Method Detail

createGUI

private void createGUI()
Creates the GUI elements of frame.

Initializes the panels, detail panels, split pane and trees.


createEntityTree

protected EntityTree createEntityTree()
Creates an entity tree.

This methods uses treeCellRenderer as renderer and creates a new EntityTreeCellEditor as editor.

Returns:
entity tree
See Also:
treeCellRenderer

focusGained

public void focusGained(java.awt.event.FocusEvent e)
If one of the two trees in the JSplitPane gains Focus, set this one as selected and deselect the other one.

Specified by:
focusGained in interface java.awt.event.FocusListener
See Also:
FocusListener.focusGained(java.awt.event.FocusEvent)

focusLost

public void focusLost(java.awt.event.FocusEvent e)
Does nothing. The reason for this method being present, is the implementation of FocusListener.

Specified by:
focusLost in interface java.awt.event.FocusListener
See Also:
FocusListener.focusLost(java.awt.event.FocusEvent)

getSelectedTree

public EntityTree getSelectedTree()
Gets the selected tree.

Returns:
tree leftTree if selected, otherwise rigtTree

getLeftTree

public EntityTree getLeftTree()
Gets the left tree.

Returns:
tree leftTree

getRightTree

public EntityTree getRightTree()
Gets the right tree.

Returns:
tree rightTree

reloadTrees

public void reloadTrees()
Update tree visualisation.