uk.org.ury.frontend
Class FrontendApplet

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Panel
              extended by java.applet.Applet
                  extended by javax.swing.JApplet
                      extended by uk.org.ury.frontend.FrontendApplet
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, FrontendMaster, Launcher

public class FrontendApplet
extends javax.swing.JApplet
implements FrontendMaster, Launcher

A frame that hosts a FrontendModulePanel, used for serving frontend panels in a window (application mode).

Author:
Matt Windsor
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.BaselineResizeBehavior
 
Field Summary
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface uk.org.ury.frontend.testrig.Launcher
DEFAULT_MODULE_NAME
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
FrontendApplet()
           
 
Method Summary
 void fatalError(java.lang.String message)
          Report a fatal error,
 java.lang.String getResourceDirectory()
           
 void init()
          Main method.
 void loadModule(java.lang.String moduleName)
          Load a module into the frontend frame.
 void loadModule(java.lang.String moduleName, java.lang.String cPanelName)
          Load a module into the frontend frame, additionally installing a control panel to communicate with the previous module.
 void restoreModule(FrontendModulePanel mpanel, FrontendControlPanel cpanel)
          Restore an existing module and control panel into the frontend frame.
 void setupUI()
          Set up the user interface of the frame.
 
Methods inherited from class javax.swing.JApplet
getAccessibleContext, getContentPane, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, remove, repaint, setContentPane, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setTransferHandler, update
 
Methods inherited from class java.applet.Applet
destroy, getAppletContext, getAppletInfo, getAudioClip, getAudioClip, getCodeBase, getDocumentBase, getImage, getImage, getLocale, getParameter, getParameterInfo, isActive, newAudioClip, play, play, resize, resize, setStub, showStatus, start, stop
 
Methods inherited from class java.awt.Panel
addNotify
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getInsets, getLayout, getListeners, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, 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, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocusInWindow, reshape, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

FrontendApplet

public FrontendApplet()
Method Detail

init

public void init()
Main method.

Overrides:
init in class java.applet.Applet

setupUI

public void setupUI()
Set up the user interface of the frame.

Specified by:
setupUI in interface FrontendMaster

loadModule

public void loadModule(java.lang.String moduleName)
                throws LoadFailureException
Load a module into the frontend frame. Loading will fail with a fatal error if the class is not found, or is not an implementor of FrontendModule.

Specified by:
loadModule in interface FrontendMaster
Parameters:
moduleName - The fully qualified class-name of the module, minus the leading "uk.org.ury." domain.
Throws:
LoadFailureException - if the class is not found, or is not an implementor of FrontendModule.

loadModule

public void loadModule(java.lang.String moduleName,
                       java.lang.String cPanelName)
                throws LoadFailureException
Load a module into the frontend frame, additionally installing a control panel to communicate with the previous module. Loading will fail with a fatal error if the class is not found, or is not an implementor of FrontendModule.

Specified by:
loadModule in interface FrontendMaster
Parameters:
moduleName - The fully qualified class-name of the module, minus the leading "uk.org.ury." domain.
cPanelName - The fully qualified class-name of the control panel to install, minus the leading "uk.org.ury." domain.
Throws:
LoadFailureException - if the class is not found, or is not an implementor of FrontendModule.

restoreModule

public void restoreModule(FrontendModulePanel mpanel,
                          FrontendControlPanel cpanel)
Restore an existing module and control panel into the frontend frame.

Specified by:
restoreModule in interface FrontendMaster
Parameters:
mpanel - The module panel to restore.
cpanel - The control panel to restore, if any. A null value signifies a lack of control panel.
Throws:
java.lang.IllegalArgumentException - if the mpanel is null.

fatalError

public void fatalError(java.lang.String message)
Report a fatal error,

Specified by:
fatalError in interface FrontendMaster
Parameters:
message - The message, eg the exception message, to report to the user.

getResourceDirectory

public java.lang.String getResourceDirectory()
Specified by:
getResourceDirectory in interface FrontendMaster
Returns:
the resource directory.