com.valhalla.jbother
Class ChatPanel

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JPanel
                  extended bycom.valhalla.jbother.ConversationPanel
                      extended bycom.valhalla.jbother.ChatPanel
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, LogViewerCaller, java.awt.MenuContainer, java.io.Serializable, TabFramePanel

public class ChatPanel
extends ConversationPanel

Handles conversations between two users. It is usually associated with a BuddyStatus.

Version:
1.0
Author:
Adam Olsen
See Also:
BuddyStatus, Serialized Form

Nested Class Summary
(package private)  class ChatPanel.PresenceComboBoxRenderer
          This renders the resource combo box - and displays icons for the online status of each resource
 
Nested classes inherited from class com.valhalla.jbother.ConversationPanel
ConversationPanel.CloseListener, ConversationPanel.RightClickListener
 
Nested classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
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
 
Fields inherited from class com.valhalla.jbother.ConversationPanel
buddy, conversationArea, frame, listenersAdded, logOut, timer
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_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 java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
ChatPanel(BuddyStatus buddy)
          Sets up the ChatPanel - creates all visual components and adds event listeners
 
Method Summary
 void createFrame()
          Creates the containing frame
 void directSend(java.lang.String text, boolean show)
           
 void disconnected()
          Displays a "disconnected" message"
 void displayInfo(java.lang.String info)
           
 void focusYourself()
          Focuses when a Tab in the TabFrame is clicked
 javax.swing.JPanel getButtonPanel()
           
 java.awt.Component getInputComponent()
           
 javax.swing.JComboBox getResourceBox()
          Gets the ComboBox with all the buddy's resources
 javax.swing.JSplitPane getSplitPane()
           
 void recieveMessage(java.lang.String sbj, java.lang.String body, java.lang.String resource)
          Recieves a message
 void sendBuddyMessage(java.lang.String text)
          Sends the message to the resource in the JComboBox
 void setOfflineMessage()
          Displays a little blurb that the last messaged recieved was from an offline buddy
 void setUpDivider()
          Sets up the Divider
 void signedOff()
          Displays a message in the window when the buddy signs off
 void signedOn()
          Displays a message in the window when a buddy signs on
 void updateResources()
          Updates the JComboBox with the buddy's current resources
 void updateStyle(java.awt.Font font)
          Updates the ConversationArea's font
 
Methods inherited from class com.valhalla.jbother.ConversationPanel
checkCloseHandler, closeHandler, closeLog, getBuddy, getContainingFrame, getDate, getPanelName, getTooltip, getWindowTitle, listenersAdded, openLogWindow, recieveMessage, setContainingFrame, setListenersAdded, startLog, startTimer, stopTimer
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setLayout, 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, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ChatPanel

public ChatPanel(BuddyStatus buddy)
Sets up the ChatPanel - creates all visual components and adds event listeners

Parameters:
buddy - the buddy to associate with
Method Detail

getButtonPanel

public javax.swing.JPanel getButtonPanel()

getInputComponent

public java.awt.Component getInputComponent()
Specified by:
getInputComponent in interface TabFramePanel
Overrides:
getInputComponent in class ConversationPanel
Returns:
the input area of this panel

setUpDivider

public void setUpDivider()
Sets up the Divider


focusYourself

public void focusYourself()
Focuses when a Tab in the TabFrame is clicked

Specified by:
focusYourself in interface TabFramePanel
Specified by:
focusYourself in class ConversationPanel

getSplitPane

public javax.swing.JSplitPane getSplitPane()
Returns:
the ChatPanel's JSPlitPane

updateStyle

public void updateStyle(java.awt.Font font)
Updates the ConversationArea's font

Specified by:
updateStyle in interface TabFramePanel
Overrides:
updateStyle in class ConversationPanel
Parameters:
font - the font to update to

getResourceBox

public javax.swing.JComboBox getResourceBox()
Gets the ComboBox with all the buddy's resources

Returns:
the ComboBox

updateResources

public void updateResources()
Updates the JComboBox with the buddy's current resources


setOfflineMessage

public void setOfflineMessage()
Displays a little blurb that the last messaged recieved was from an offline buddy

Overrides:
setOfflineMessage in class ConversationPanel

signedOff

public void signedOff()
Displays a message in the window when the buddy signs off


signedOn

public void signedOn()
Displays a message in the window when a buddy signs on


disconnected

public void disconnected()
Displays a "disconnected" message"


displayInfo

public void displayInfo(java.lang.String info)

recieveMessage

public void recieveMessage(java.lang.String sbj,
                           java.lang.String body,
                           java.lang.String resource)
Recieves a message

Overrides:
recieveMessage in class ConversationPanel
Parameters:
sbj - the message subject
body - the message body
resource - the resource the message came from if there is one

directSend

public void directSend(java.lang.String text,
                       boolean show)

sendBuddyMessage

public void sendBuddyMessage(java.lang.String text)
Sends the message to the resource in the JComboBox

Parameters:
text - the message to send

createFrame

public void createFrame()
Creates the containing frame

Specified by:
createFrame in class ConversationPanel