views
Class ViewController

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Frame
                  extended by javax.swing.JFrame
                      extended by views.ViewController
All Implemented Interfaces:
java.awt.event.ActionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.lang.Runnable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants
Direct Known Subclasses:
PlanetlabDesktop, PlanetlabDisplayWall

public abstract class ViewController
extends javax.swing.JFrame
implements java.lang.Runnable, java.awt.event.ActionListener

The ViewController class is the base class for a small GUI application that makes it easy to create PlanetLab maps. It lets the user choose a view from a list and runs the abstract update method either manually or automatically with a given time interval. It also allows the user to customize input files to produce unique views.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
 
Nested classes/interfaces inherited from class java.awt.Frame
java.awt.Frame.AccessibleAWTFrame
 
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
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.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
private  javax.swing.JCheckBox checkUpdate
           
private  javax.swing.JButton closeButton
           
private  javax.swing.JComboBox configSelector
           
private  javax.swing.JButton customizeView
           
private  boolean isCustomView
           
private  boolean isUpdating
           
private  javax.swing.JLabel label1
           
private  javax.swing.JLabel label2
           
private  javax.swing.JButton loadButton
           
private  javax.swing.JButton manualUpdate
           
private  javax.swing.JComboBox refreshValue
           
private static long serialVersionUID
           
private  javax.swing.JButton showMedisyn
           
private  javax.swing.Timer timer
           
private static int TIMER_MULTIPLIER
           
private  boolean updateImmediately
           
private  java.lang.Thread updateThread
           
private  ViewCustomizer viewCustomizer
           
private  java.lang.String viewFileName
           
private  javax.swing.JComboBox viewSelector
           
 
Fields inherited from class javax.swing.JFrame
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
protected ViewController(java.lang.String title)
          Create a new instance of ViewController.
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent evt)
          Handles all the events that occur in the GUI.
protected abstract  void configComboChanged(javax.swing.JComboBox configSelector)
          Specifies how to act on change of config ComboBox
private  void createCustomizer()
           
private  boolean customViewSelected()
           
protected abstract  void fillConfigCombo(javax.swing.JComboBox configSelector)
          Specifies how to fill the config ComboBox
 javax.swing.JComboBox getConfigSelector()
           
protected  java.lang.String getViewFileName()
          Gets the file name corresponding to the currently selected view.
 void run()
          The main method of the update thread, which, when started, updates the image based on the currently selected view.
protected abstract  void showSimulatorWindow()
          Specifies how to act on click on JButton showMedisyn
protected abstract  void update()
          Specifies how to update an image in the update thread when a new image is created.
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
 
Methods inherited from class java.awt.Frame
addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setVisible, show, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, 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, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values

TIMER_MULTIPLIER

private static final int TIMER_MULTIPLIER
See Also:
Constant Field Values

isUpdating

private boolean isUpdating

updateImmediately

private boolean updateImmediately

viewFileName

private java.lang.String viewFileName

updateThread

private java.lang.Thread updateThread

manualUpdate

private javax.swing.JButton manualUpdate

customizeView

private javax.swing.JButton customizeView

showMedisyn

private javax.swing.JButton showMedisyn

closeButton

private javax.swing.JButton closeButton

loadButton

private javax.swing.JButton loadButton

viewSelector

private javax.swing.JComboBox viewSelector

configSelector

private javax.swing.JComboBox configSelector

label1

private javax.swing.JLabel label1

label2

private javax.swing.JLabel label2

timer

private javax.swing.Timer timer

refreshValue

private javax.swing.JComboBox refreshValue

checkUpdate

private javax.swing.JCheckBox checkUpdate

viewCustomizer

private ViewCustomizer viewCustomizer

isCustomView

private boolean isCustomView
Constructor Detail

ViewController

protected ViewController(java.lang.String title)
Create a new instance of ViewController. It contains all the GUI components with registered listeners.

Method Detail

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent evt)
Handles all the events that occur in the GUI.

Specified by:
actionPerformed in interface java.awt.event.ActionListener
Parameters:
evt - an ActionEvent

createCustomizer

private void createCustomizer()

customViewSelected

private boolean customViewSelected()

run

public void run()
The main method of the update thread, which, when started, updates the image based on the currently selected view.

Specified by:
run in interface java.lang.Runnable

getViewFileName

protected java.lang.String getViewFileName()
Gets the file name corresponding to the currently selected view.

Returns:
the file name

update

protected abstract void update()
Specifies how to update an image in the update thread when a new image is created.


showSimulatorWindow

protected abstract void showSimulatorWindow()
Specifies how to act on click on JButton showMedisyn


configComboChanged

protected abstract void configComboChanged(javax.swing.JComboBox configSelector)
Specifies how to act on change of config ComboBox


fillConfigCombo

protected abstract void fillConfigCombo(javax.swing.JComboBox configSelector)
Specifies how to fill the config ComboBox


getConfigSelector

public javax.swing.JComboBox getConfigSelector()