swpchat.client.gui
Class MainFrameGUI

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

public class MainFrameGUI
extends javax.swing.JFrame
implements ClientConstantPool, java.awt.event.ActionListener

Main window of the chat client.

Author:
Brunner, Sturm, Stuellenberg.
See Also:
Serialized Form

Inner Class Summary
private  class MainFrameGUI.MyWindowListener
          inner class to handle window events.
 
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
 
Inner classes inherited from class swpchat.client.ClientConstantPool
ClientConstantPool.ImageDirectoryDetector
 
Field Summary
private  java.lang.Thread aboutThread
           
private  AboutWindow aboutWindow
           
private  AdminFrame adminFrame
           
private  ChatButton btnAbout
           
private  ChatButton btnAdd
           
private  ChatButton btnAdministration
           
private  ChatButton btnChat
           
private  ChatButton btnConnect
           
private  ChatButton btnContacts
           
private  ChatButton btnJoin
           
private  ChatButton btnQuit
           
private  ChatButton btnRemove
           
private  ChatFrame chatFrame
           
private  ClientControls clientControls
           
private static java.lang.String CLS
           
private  ContactsFrame contactsFrame
           
private  java.awt.Container contentPane
           
 ConnectPropsDialog dialog
           
private static java.awt.Dimension DIM_BIG_MAIN_FRAME_BUTTON
           
private static java.awt.Dimension DIM_LBL_MAIN_FRAME
           
private static java.awt.Dimension DIM_LIST_MAIN_FRAME
           
private static java.awt.Dimension DIM_MAIN_FRAME
           
private static java.awt.Dimension DIM_SMALL_MAIN_FRAME_BUTTON
           
private  javax.swing.JLabel lblAvailable
           
private  javax.swing.JLabel lblSelected
           
private  javax.swing.JList listAvailableChannels
           
private  javax.swing.JList listMyChannels
           
private  javax.swing.DefaultListModel modelAvailable
           
private  javax.swing.DefaultListModel modelInit
           
private  javax.swing.DefaultListModel modelSelected
           
private  StartTipWindow startTipWindow
           
private static java.lang.String STR_AVAILABLE
           
private static java.lang.String STR_SELECTED
           
private static java.lang.String strAbout
           
private static java.lang.String strAdd
           
private static java.lang.String strAdministration
           
private static java.lang.String strChat
           
private static java.lang.String strConnect
           
private static java.lang.String strContacts
           
private static java.lang.String strDisconnect
           
private static java.lang.String strQuit
           
private static java.lang.String strRemove
           
 
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, 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, background, 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, visible, width, windowClosingException, windowListenerK, x, y
 
Fields inherited from interface swpchat.client.ClientConstantPool
COLOR_BACKGROUND, iconClose, iconClosePress, iconDelete, iconDeletePress, iconJoin, iconLeave, iconNormal, iconPress, iconSmall, iconSmallPress, IMAGE_DIRECTORY, shipdummy, shipgif, STR_GIF_PATH, STR_PATH_SEPARATOR, userInfoData
 
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
MainFrameGUI(DisplayControler displayControler, ClientControls clientControls)
          Constructor.
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent event)
          Envoked when an action occurs.
 void addChannelToAvailableList(java.lang.String channelName)
          Adds a new channel name to our list of available channels.
 void addChannelToMyList(java.lang.String channelName)
          Adds channel to our list of selected channels.
 java.util.Enumeration getAvailableChannelEnumeration()
          returns an Enumeration of the available channels stores in the list.
 java.util.Enumeration getSelectedChannelEnumeration()
          returns an Enumeration of the selected channels stores in the list.
private  void initGUI()
          Creates GUI of our main frame.
 void removeAllChannelsFromList()
          Removes all channels from list of available channels.
 void removeChannelFromAvailableList(java.lang.String channelName)
          Removes channel from our list of available channels.
 void removeChannelFromMyList(java.lang.String channelName)
          Adds channel to our list of selected channels.
 
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

CLS

private static final java.lang.String CLS

strConnect

private static final java.lang.String strConnect

strDisconnect

private static final java.lang.String strDisconnect

strAdd

private static final java.lang.String strAdd

strRemove

private static final java.lang.String strRemove

strAdministration

private static final java.lang.String strAdministration

strQuit

private static final java.lang.String strQuit

strAbout

private static final java.lang.String strAbout

strChat

private static final java.lang.String strChat

strContacts

private static final java.lang.String strContacts

STR_AVAILABLE

private static final java.lang.String STR_AVAILABLE

STR_SELECTED

private static final java.lang.String STR_SELECTED

DIM_MAIN_FRAME

private static final java.awt.Dimension DIM_MAIN_FRAME

DIM_BIG_MAIN_FRAME_BUTTON

private static final java.awt.Dimension DIM_BIG_MAIN_FRAME_BUTTON

DIM_SMALL_MAIN_FRAME_BUTTON

private static final java.awt.Dimension DIM_SMALL_MAIN_FRAME_BUTTON

DIM_LBL_MAIN_FRAME

private static final java.awt.Dimension DIM_LBL_MAIN_FRAME

DIM_LIST_MAIN_FRAME

private static final java.awt.Dimension DIM_LIST_MAIN_FRAME

btnConnect

private ChatButton btnConnect

btnAdministration

private ChatButton btnAdministration

btnQuit

private ChatButton btnQuit

btnChat

private ChatButton btnChat

btnJoin

private ChatButton btnJoin

btnAdd

private ChatButton btnAdd

btnRemove

private ChatButton btnRemove

btnContacts

private ChatButton btnContacts

btnAbout

private ChatButton btnAbout

lblAvailable

private javax.swing.JLabel lblAvailable

lblSelected

private javax.swing.JLabel lblSelected

contentPane

private java.awt.Container contentPane

listMyChannels

private javax.swing.JList listMyChannels

listAvailableChannels

private javax.swing.JList listAvailableChannels

modelAvailable

private javax.swing.DefaultListModel modelAvailable

modelSelected

private javax.swing.DefaultListModel modelSelected

modelInit

private javax.swing.DefaultListModel modelInit

clientControls

private ClientControls clientControls

adminFrame

private AdminFrame adminFrame

chatFrame

private ChatFrame chatFrame

contactsFrame

private ContactsFrame contactsFrame

aboutWindow

private AboutWindow aboutWindow

startTipWindow

private StartTipWindow startTipWindow

aboutThread

private java.lang.Thread aboutThread

dialog

public ConnectPropsDialog dialog
Constructor Detail

MainFrameGUI

public MainFrameGUI(DisplayControler displayControler,
                    ClientControls clientControls)
Constructor. Registers to Controlers and inits GUI.
Method Detail

initGUI

private void initGUI()
Creates GUI of our main frame.

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent event)
Envoked when an action occurs. Implementation of interface ActionListener.
Specified by:
actionPerformed in interface java.awt.event.ActionListener
Parameters:
ActionEvent - the event that occured

addChannelToAvailableList

public void addChannelToAvailableList(java.lang.String channelName)
Adds a new channel name to our list of available channels.
Parameters:
channelName - The name of the new channel.

removeChannelFromAvailableList

public void removeChannelFromAvailableList(java.lang.String channelName)
Removes channel from our list of available channels.
Parameters:
channelName - The name of the channel.

addChannelToMyList

public void addChannelToMyList(java.lang.String channelName)
Adds channel to our list of selected channels.
Parameters:
channelName - The name of the channel.

removeChannelFromMyList

public void removeChannelFromMyList(java.lang.String channelName)
Adds channel to our list of selected channels.
Parameters:
channelName - The name of the channel.

removeAllChannelsFromList

public void removeAllChannelsFromList()
Removes all channels from list of available channels.

getAvailableChannelEnumeration

public java.util.Enumeration getAvailableChannelEnumeration()
returns an Enumeration of the available channels stores in the list.

getSelectedChannelEnumeration

public java.util.Enumeration getSelectedChannelEnumeration()
returns an Enumeration of the selected channels stores in the list.