oogp2p.chat
Class MultiChatWindow

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjava.awt.Window
              extended byjava.awt.Frame
                  extended byjavax.swing.JFrame
                      extended byoogp2p.chat.ChatWindow
                          extended byoogp2p.chat.MultiChatWindow
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, javax.swing.RootPaneContainer, java.io.Serializable, javax.swing.WindowConstants

public class MultiChatWindow
extends ChatWindow

MultiChatWindow.java Creates the window that contains a text areas to display chat text. It also contains an editable text area from which to send text.

Author:
OOGs
See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
 
Nested classes inherited from class java.awt.Frame
java.awt.Frame.AccessibleAWTFrame
 
Nested classes inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
private  Peer me
           
private  javax.swing.JList myChatPeerList
           
private  javax.swing.JTextArea myChatText
           
private  javax.swing.JScrollPane myChatTextDisplay
           
private  javax.swing.JScrollPane myInputDisplay
           
private  javax.swing.JTextArea myInputText
           
private  javax.swing.JScrollPane myListScroll
           
private  javax.swing.JPanel myPanel
           
private  java.util.Vector myPeerInfo
           
private  java.util.AbstractMap myPeerOutputs
           
private  javax.swing.JButton mySendButton
           
private static java.lang.String myTitle
           
private static int TAB_SIZE
           
private static int TEXT_AREA_HEIGHT
           
private static int TEXT_AREA_WIDTH
           
 
Fields inherited from class oogp2p.chat.ChatWindow
 
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.Window
 
Fields inherited from class java.awt.Container
 
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 MultiChatWindow()
           
  MultiChatWindow(java.util.Vector peerInfo, ClientAdministrator clAdmin, java.net.InetAddress inetAddr)
           
 
Method Summary
 void addText(java.lang.String userName, java.lang.String text)
          Adds (and formats) text to the text display window.
 void clearEditorWindow()
          Clears the editor window.
private  void createSendButton()
          Creates the "Send" buttion and adds it to the panel.
private  void createWindow()
          Create window
private  void createWindowListener()
           
 boolean equals(java.util.Vector peerInfo)
          Given a vector, check to see if it represents the this chat window
protected  void initialize()
          Initialize window and display.
static void main(java.lang.String[] args)
          For testing.
 boolean matchesWindow(java.lang.String from, java.net.InetAddress fromIP)
          Should be delted when ChatWindow is replaced with the MultiChatWindow.
private  javax.swing.JPanel peerList()
          Create chat peer list window.
private  void sendMessage()
           
private  void setOutputStreams(ClientAdministrator clAdmin, java.net.InetAddress inetAddr)
          Sets the output streams for the Peers in the myPeerOutput map.
 
Methods inherited from class oogp2p.chat.ChatWindow
getConnectedTo
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Frame
addNotify, finalize, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setIconImage, 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, isFocusableWindow, isFocusCycleRoot, isFocused, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setCursor, setFocusableWindowState, setFocusCycleRoot, 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, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setFocusTraversalKeys, setFocusTraversalPolicy, 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, 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, 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, isOpaque, 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, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

myPeerInfo

private java.util.Vector myPeerInfo

me

private Peer me

myPeerOutputs

private java.util.AbstractMap myPeerOutputs

myTitle

private static java.lang.String myTitle

TEXT_AREA_HEIGHT

private static int TEXT_AREA_HEIGHT

TEXT_AREA_WIDTH

private static int TEXT_AREA_WIDTH

TAB_SIZE

private static int TAB_SIZE

myInputText

private javax.swing.JTextArea myInputText

myInputDisplay

private javax.swing.JScrollPane myInputDisplay

mySendButton

private javax.swing.JButton mySendButton

myChatText

private javax.swing.JTextArea myChatText

myChatTextDisplay

private javax.swing.JScrollPane myChatTextDisplay

myChatPeerList

private javax.swing.JList myChatPeerList

myListScroll

private javax.swing.JScrollPane myListScroll

myPanel

private javax.swing.JPanel myPanel
Constructor Detail

MultiChatWindow

protected MultiChatWindow()

MultiChatWindow

public MultiChatWindow(java.util.Vector peerInfo,
                       ClientAdministrator clAdmin,
                       java.net.InetAddress inetAddr)
Method Detail

initialize

protected void initialize()
Initialize window and display.


setOutputStreams

private void setOutputStreams(ClientAdministrator clAdmin,
                              java.net.InetAddress inetAddr)
Sets the output streams for the Peers in the myPeerOutput map. Sets the Peer object representing the user. Should be set using the updated username system (thereby getting rid of this function.


equals

public boolean equals(java.util.Vector peerInfo)
Given a vector, check to see if it represents the this chat window

Overrides:
equals in class ChatWindow

matchesWindow

public boolean matchesWindow(java.lang.String from,
                             java.net.InetAddress fromIP)
Should be delted when ChatWindow is replaced with the MultiChatWindow.

Overrides:
matchesWindow in class ChatWindow

sendMessage

private void sendMessage()

addText

public void addText(java.lang.String userName,
                    java.lang.String text)
Adds (and formats) text to the text display window.

Overrides:
addText in class ChatWindow
Parameters:
text - text to be added

clearEditorWindow

public void clearEditorWindow()
Clears the editor window.

Overrides:
clearEditorWindow in class ChatWindow

createWindow

private void createWindow()
Create window


peerList

private javax.swing.JPanel peerList()
Create chat peer list window.


createSendButton

private void createSendButton()
Creates the "Send" buttion and adds it to the panel.


createWindowListener

private void createWindowListener()

main

public static void main(java.lang.String[] args)
For testing.