sg.edu.nus.gui
Class AbstractMainFrame

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 sg.edu.nus.gui.AbstractMainFrame
All Implemented Interfaces:
java.awt.event.ComponentListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants, LogEventWatcher
Direct Known Subclasses:
BootstrapGUI, ServerGUI

public abstract class AbstractMainFrame
extends javax.swing.JFrame
implements java.awt.event.ComponentListener, LogEventWatcher

An abstract frame that simply wrapps JFrame for the convenience of constructing a main GUI.

Version:
1.0 2006-1-26
Author:
Xu Linhao
See Also:
Serialized Form

Field Summary
static int[] EVENT_TABLE_WIDTH
           
static long HIGH_FREQ
          define the high frequency of sending UDP messages to remote peers
static long LOW_FREQ
          define the low frequency of sending UDP messages to remote peers
static long NORM_FREQ
          define the normal frequency of sending UDP messages to remote peers
static java.lang.String SRC_PATH
          The path of all system resource files.
 
Fields inherited from class javax.swing.JFrame
EXIT_ON_CLOSE
 
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
AbstractMainFrame(java.lang.String title, java.lang.String image)
           
AbstractMainFrame(java.lang.String title, java.lang.String image, int height, int width)
          Construct a JFrame with specified parameters.
 
Method Summary
 void componentHidden(java.awt.event.ComponentEvent arg0)
           
 void componentMoved(java.awt.event.ComponentEvent arg0)
           
 void componentResized(java.awt.event.ComponentEvent arg0)
           
 void componentShown(java.awt.event.ComponentEvent arg0)
           
abstract  void logout(boolean toBoot, boolean toServer, boolean toClient)
          Execute logout operation and broadcast MsgType.TROUBLESHOOT message to all relevant peers.
abstract  AbstractPeer peer()
          Returns the handler of AbstractPeer correponding to the sub-class of AbstractMainFrame.
 void processWindowEvent(java.awt.event.WindowEvent e)
          When a WindowEvent happens.
abstract  void scheduleUDPSender(long period)
          Re-schedule the UDP Sender with a new time interval.
 
Methods inherited from class javax.swing.JFrame
getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isDefaultLookAndFeelDecorated, remove, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, 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, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setAlwaysOnTop, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationByPlatform, setLocationRelativeTo, 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, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusBackward, transferFocusDownCycle, validate
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, dispatchEvent, enable, enable, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, 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, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface sg.edu.nus.logging.LogEventWatcher
log
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

SRC_PATH

public static final java.lang.String SRC_PATH
The path of all system resource files.

See Also:
Constant Field Values

EVENT_TABLE_WIDTH

public static final int[] EVENT_TABLE_WIDTH

HIGH_FREQ

public static final long HIGH_FREQ
define the high frequency of sending UDP messages to remote peers

See Also:
Constant Field Values

NORM_FREQ

public static final long NORM_FREQ
define the normal frequency of sending UDP messages to remote peers

See Also:
Constant Field Values

LOW_FREQ

public static final long LOW_FREQ
define the low frequency of sending UDP messages to remote peers

See Also:
Constant Field Values
Constructor Detail

AbstractMainFrame

public AbstractMainFrame(java.lang.String title,
                         java.lang.String image)

AbstractMainFrame

public AbstractMainFrame(java.lang.String title,
                         java.lang.String image,
                         int height,
                         int width)
Construct a JFrame with specified parameters.

Parameters:
title - the frame title to be displayed
image - the path of the icon image to be displayed
height - the height of the window
width - the width of the window
Method Detail

peer

public abstract AbstractPeer peer()
Returns the handler of AbstractPeer correponding to the sub-class of AbstractMainFrame.

Returns:
the handler of AbstractPeer

scheduleUDPSender

public abstract void scheduleUDPSender(long period)
Re-schedule the UDP Sender with a new time interval.

Parameters:
period - the new period for disseminating UDP packets

logout

public abstract void logout(boolean toBoot,
                            boolean toServer,
                            boolean toClient)
Execute logout operation and broadcast MsgType.TROUBLESHOOT message to all relevant peers.

Parameters:
toBoot - if true, send messages to bootstrapper
toServer - if true, send messages to server peers
toClient - if true, send messages to client peers

componentResized

public void componentResized(java.awt.event.ComponentEvent arg0)
Specified by:
componentResized in interface java.awt.event.ComponentListener

componentMoved

public void componentMoved(java.awt.event.ComponentEvent arg0)
Specified by:
componentMoved in interface java.awt.event.ComponentListener

componentShown

public void componentShown(java.awt.event.ComponentEvent arg0)
Specified by:
componentShown in interface java.awt.event.ComponentListener

componentHidden

public void componentHidden(java.awt.event.ComponentEvent arg0)
Specified by:
componentHidden in interface java.awt.event.ComponentListener

processWindowEvent

public void processWindowEvent(java.awt.event.WindowEvent e)
When a WindowEvent happens.

Overrides:
processWindowEvent in class javax.swing.JFrame
Parameters:
e - a WindowEvent