User.v1_1
Class VisitorWindow

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--java.awt.Window
                    |
                    +--java.awt.Frame
                          |
                          +--javax.swing.JFrame
                                |
                                +--User.v1_1.VisitorWindow
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.event.ActionListener, java.util.EventListener, java.awt.image.ImageObserver, java.awt.MenuContainer, javax.swing.RootPaneContainer, java.io.Serializable, javax.swing.WindowConstants

public class VisitorWindow
extends javax.swing.JFrame
implements java.awt.event.ActionListener

VisitorWindow is the graphical user interface for the VisitorAgent. When the user logs onto a Director as a guest, a VisitorAgent is plugged in at the user's node. The user can later either select to login to his home PaP domain or stay connected to his current Director as a visitor.

Version:
1.0
Author:
Lars Erik Liljebäck
See Also:
Serialized Form

Inner classes inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
 
Inner classes inherited from class java.awt.Frame
java.awt.Frame.AccessibleAWTFrame
 
Inner classes inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
Inner classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Inner classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.AWTTreeLock
 
Field Summary
private  VisitorAgent agent
          Reference to this window's VisitorAgent
private  java.awt.Color background
           
private  javax.swing.JPanel buttonPane
           
private  javax.swing.JButton cancel2Button
           
private  javax.swing.JButton cancelButton
           
private  java.awt.CardLayout card
           
private  javax.swing.JButton connectButton
           
private  javax.swing.JPanel connectPane
           
private  javax.swing.JPanel contentPane
           
private  javax.swing.JTextField director
           
private  javax.swing.JPasswordField password
           
private  javax.swing.JMenuItem plugin
           
private  java.lang.String[] pluginHeaders
           
private  Table pluginTable
           
private  int[] pluginWidths
           
private  javax.swing.JMenuItem plugout
           
private  javax.swing.JButton plugoutButton
           
private  java.lang.String[] plugoutHeaders
           
private  javax.swing.JPanel plugoutPane
           
private  Table plugoutTable
           
private  int[] plugoutWidths
           
private  javax.swing.JCheckBox sessionSelection
           
private  javax.swing.JTextField username
           
 
Fields inherited from class javax.swing.JFrame
accessibleContext, defaultCloseOperation, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Frame
base, CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, frameSerializedDataVersion, HAND_CURSOR, icon, ICONIFIED, mbManagement, menuBar, MOVE_CURSOR, N_RESIZE_CURSOR, nameCounter, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, ownedWindows, resizable, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, serialVersionUID, state, SW_RESIZE_CURSOR, TEXT_CURSOR, title, W_RESIZE_CURSOR, WAIT_CURSOR, weakThis
 
Fields inherited from class java.awt.Window
active, dbg, focusMgr, inputContext, inputContextLock, OPENED, ownedWindowList, showWithParent, warningString, windowListener, windowSerializedDataVersion
 
Fields inherited from class java.awt.Container
component, containerListener, containerSerializedDataVersion, dispatcher, layoutMgr, listeningBoundsChildren, listeningChildren, maxSize, ncomponents, printing, printingThreads
 
Fields inherited from class java.awt.Component
actionListenerK, adjustmentListenerK, appContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, changeSupport, componentListener, componentListenerK, componentOrientation, componentSerializedDataVersion, containerListenerK, cursor, dropTarget, enabled, eventMask, focusListener, focusListenerK, font, foreground, graphicsConfig, hasFocus, height, hierarchyBoundsListener, hierarchyBoundsListenerK, hierarchyListener, hierarchyListenerK, incRate, inputMethodListener, inputMethodListenerK, isInc, isPacked, itemListenerK, keyListener, keyListenerK, LEFT_ALIGNMENT, locale, LOCK, metrics, minSize, mouseListener, mouseListenerK, mouseMotionListener, mouseMotionListenerK, name, nameExplicitlySet, newEventsOnly, ownedWindowK, parent, peer, peerFont, popups, prefSize, privateKey, RIGHT_ALIGNMENT, textListenerK, TOP_ALIGNMENT, valid, width, windowClosingException, windowListenerK, visible, x, y
 
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
VisitorWindow(VisitorAgent agent)
          Creates a new VisitorWindow.
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent ae)
          Handles the events generated when the user selects one of the menuitems or pushes a button.
 void addPluggedInActor(java.lang.String actorGAI)
          Adds the GAI of an actor that has been plugged in by this VisitorAgent.
private  void dbg(java.lang.String dbg)
          Writes the specified string to the agent's baseframe window.
private  void initConnectPanel(javax.swing.JPanel p)
          Initializes the connect panel.
static void main(java.lang.String[] args)
          Used for debugging.
 void setBackgroundColor(java.awt.Color c)
          Sets the background color used by the VisitorWindow and its components.
 void setRoleList(java.util.ArrayList list)
          Sets the list of roles that can be plugged in by the UserAgent.
 void setWindowTitle(java.lang.String title)
          Sets the title of the window.
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, createRootPaneException, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isRootPaneCheckingEnabled, paramString, processKeyEvent, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Frame
, addNotify, addToFrameList, constructComponentName, finalize, getCursorType, getFrames, getIconImage, getMenuBar, getState, getTitle, initIDs, isResizable, postProcessKeyEvent, readObject, remove, removeFromFrameList, removeNotify, setCursor, setIconImage, setMenuBar, setResizable, setState, setTitle, writeObject
 
Methods inherited from class java.awt.Window
addOwnedWindow, addWindowListener, adjustListeningChildren, applyResourceBundle, applyResourceBundle, connectOwnedWindow, dispatchEventImpl, dispose, eventEnabled, getFocusOwner, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getOwnedWindows, getOwner, getToolkit, getWarningString, hide, isActive, isShowing, nextFocus, ownedInit, pack, postEvent, postWindowEvent, preProcessKeyEvent, processEvent, removeOwnedWindow, removeWindowListener, resetGC, setCursor, setFocusOwner, setWarningString, show, toBack, toFront, transferFocus
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyOrientation, checkGD, countComponents, createChildHierarchyEvents, createHierarchyEvents, deliverEvent, dispatchEventToSelf, doLayout, findComponentAt, findComponentAt, findComponentAt, getAccessibleAt, getAccessibleChild, getAccessibleChildrenCount, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents_NoClientCode, getComponents, getInsets, getLayout, getMaximumSize, getMinimumSize, getMouseEventTarget, getPreferredSize, getWindow, insets, invalidate, invalidateTree, isAncestorOf, layout, lightweightPaint, lightweightPrint, list, list, locate, minimumSize, numListening, paint, paintComponents, paintHeavyweightComponents, postsOldMouseEvents, preferredSize, print, printComponents, printHeavyweightComponents, processContainerEvent, proxyEnableEvents, proxyRequestFocus, remove, removeAll, removeContainerListener, setFont, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addPropertyChangeListener, addPropertyChangeListener, areInputMethodsEnabled, bounds, checkImage, checkImage, checkWindowClosingException, coalesceEvents, contains, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, getAccessibleIndexInParent, getAccessibleStateSet, getBackground, getBounds, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont_NoClientCode, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getInputMethodRequests, getLocation, getLocation, getLocationOnScreen_NoTreeLock, getLocationOnScreen, getName, getNativeContainer, getParent_NoClientCode, getParent, getPeer, getSize, getSize, getToolkitImpl, getTreeLock, getWidth, getWindowForObject, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isDisplayable, isDoubleBuffered, isEnabled, isEnabledImpl, isFocusTraversable, isLightweight, isOpaque, isRecursivelyVisible, 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, processMouseEvent, processMouseMotionEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setDropTarget, setEnabled, setForeground, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

agent

private VisitorAgent agent
Reference to this window's VisitorAgent

contentPane

private javax.swing.JPanel contentPane

plugoutPane

private javax.swing.JPanel plugoutPane

connectPane

private javax.swing.JPanel connectPane

buttonPane

private javax.swing.JPanel buttonPane

card

private java.awt.CardLayout card

plugin

private javax.swing.JMenuItem plugin

plugout

private javax.swing.JMenuItem plugout

pluginTable

private Table pluginTable

pluginHeaders

private java.lang.String[] pluginHeaders

pluginWidths

private int[] pluginWidths

plugoutTable

private Table plugoutTable

plugoutHeaders

private java.lang.String[] plugoutHeaders

plugoutWidths

private int[] plugoutWidths

cancelButton

private javax.swing.JButton cancelButton

plugoutButton

private javax.swing.JButton plugoutButton

sessionSelection

private javax.swing.JCheckBox sessionSelection

password

private javax.swing.JPasswordField password

username

private javax.swing.JTextField username

director

private javax.swing.JTextField director

cancel2Button

private javax.swing.JButton cancel2Button

connectButton

private javax.swing.JButton connectButton

background

private java.awt.Color background
Constructor Detail

VisitorWindow

public VisitorWindow(VisitorAgent agent)
Creates a new VisitorWindow. Creates and initializes the GUI components.
Parameters:
agent - Reference to the VisitorAgent.
Method Detail

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent ae)
Handles the events generated when the user selects one of the menuitems or pushes a button.
Specified by:
actionPerformed in interface java.awt.event.ActionListener

addPluggedInActor

public void addPluggedInActor(java.lang.String actorGAI)
Adds the GAI of an actor that has been plugged in by this VisitorAgent.
Parameters:
actorGAI - The GAI of the actor plugged in.

setBackgroundColor

public void setBackgroundColor(java.awt.Color c)
Sets the background color used by the VisitorWindow and its components.
Parameters:
c - The new background color.

setRoleList

public void setRoleList(java.util.ArrayList list)
Sets the list of roles that can be plugged in by the UserAgent. This list is read from the file RoleList.xml by the VisitorAgent by using XMLFileUtil.parseRoleList(). The list is an ArrayList with String arrays where each array contains the name and version of a play, the name of a role belonging to the play and the location where the actor shall be plugged in (on the user's node or at the Director's node).
Parameters:
list - ArrayList with String arrays where each array contains information about each selectable role that can be plugged into an actor.

setWindowTitle

public void setWindowTitle(java.lang.String title)
Sets the title of the window.
Parameters:
title - The new window title.

dbg

private void dbg(java.lang.String dbg)
Writes the specified string to the agent's baseframe window.
Parameters:
dbg - The debug string.

initConnectPanel

private void initConnectPanel(javax.swing.JPanel p)
Initializes the connect panel. This panel is used to configure the LoginRequest to a remote Director.
Parameters:
p - The panel to be initialized.

main

public static void main(java.lang.String[] args)
Used for debugging.