com.threerings.micasa.client
Class ChatPanel

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by com.threerings.micasa.client.ChatPanel
All Implemented Interfaces:
ChatDisplay, OccupantObserver, PlaceView, ActionListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible

public class ChatPanel
extends JPanel
implements ActionListener, ChatDisplay, OccupantObserver, PlaceView

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
protected  CrowdContext _ctx
           
protected  JTextField _entry
           
protected  Style _errStyle
           
protected  boolean _focus
           
protected  Style _msgStyle
           
protected  Style _nameStyle
           
protected  Style _noticeStyle
           
protected  JComboBox _roombox
           
protected  JButton _send
           
protected  JTextPane _text
           
protected static int PREFERRED_WIDTH
          A width that isn't so skinny that the text is teeny.
 
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.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(CrowdContext ctx)
           
ChatPanel(CrowdContext ctx, boolean showHintLabel)
           
 
Method Summary
 void actionPerformed(ActionEvent e)
           
protected  void append(String text, Style style)
          Append the specified text in the specified style.
 void clear()
           
protected  void createStyles(JTextPane text)
           
 void didLeavePlace(PlaceObject place)
           
protected  void displayError(String message)
           
 boolean displayMessage(ChatMessage message, boolean displayed)
           
protected  void displayOccupantMessage(String message)
           
 Dimension getPreferredSize()
           
 void occupantEntered(OccupantInfo info)
           
 void occupantLeft(OccupantInfo info)
           
 void occupantUpdated(OccupantInfo oinfo, OccupantInfo info)
           
 void removeSendButton()
          For applications where the chat box has extremely limited space, the send button can be removed to leave more space for the text input box.
protected  void sendText()
           
 void setRequestFocus(boolean focus)
          Sets whether the chat box text entry field requests the keyboard focus when the panel receives AncestorListener.ancestorAdded(javax.swing.event.AncestorEvent) or PlaceView.willEnterPlace(com.threerings.crowd.data.PlaceObject) events.
 void willEnterPlace(PlaceObject place)
           
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, 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, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, 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, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, 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, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, 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
 

Field Detail

_ctx

protected CrowdContext _ctx

_focus

protected boolean _focus

_roombox

protected JComboBox _roombox

_text

protected JTextPane _text

_send

protected JButton _send

_entry

protected JTextField _entry

_nameStyle

protected Style _nameStyle

_msgStyle

protected Style _msgStyle

_errStyle

protected Style _errStyle

_noticeStyle

protected Style _noticeStyle

PREFERRED_WIDTH

protected static final int PREFERRED_WIDTH
A width that isn't so skinny that the text is teeny.

See Also:
Constant Field Values
Constructor Detail

ChatPanel

public ChatPanel(CrowdContext ctx)

ChatPanel

public ChatPanel(CrowdContext ctx,
                 boolean showHintLabel)
Method Detail

removeSendButton

public void removeSendButton()
For applications where the chat box has extremely limited space, the send button can be removed to leave more space for the text input box.


setRequestFocus

public void setRequestFocus(boolean focus)
Sets whether the chat box text entry field requests the keyboard focus when the panel receives AncestorListener.ancestorAdded(javax.swing.event.AncestorEvent) or PlaceView.willEnterPlace(com.threerings.crowd.data.PlaceObject) events.


createStyles

protected void createStyles(JTextPane text)

actionPerformed

public void actionPerformed(ActionEvent e)
Specified by:
actionPerformed in interface ActionListener

occupantEntered

public void occupantEntered(OccupantInfo info)
Specified by:
occupantEntered in interface OccupantObserver

occupantLeft

public void occupantLeft(OccupantInfo info)
Specified by:
occupantLeft in interface OccupantObserver

occupantUpdated

public void occupantUpdated(OccupantInfo oinfo,
                            OccupantInfo info)
Specified by:
occupantUpdated in interface OccupantObserver

displayOccupantMessage

protected void displayOccupantMessage(String message)

sendText

protected void sendText()

clear

public void clear()
Specified by:
clear in interface ChatDisplay

displayMessage

public boolean displayMessage(ChatMessage message,
                              boolean displayed)
Specified by:
displayMessage in interface ChatDisplay

displayError

protected void displayError(String message)

append

protected void append(String text,
                      Style style)
Append the specified text in the specified style.


willEnterPlace

public void willEnterPlace(PlaceObject place)
Specified by:
willEnterPlace in interface PlaceView

didLeavePlace

public void didLeavePlace(PlaceObject place)
Specified by:
didLeavePlace in interface PlaceView

getPreferredSize

public Dimension getPreferredSize()
Overrides:
getPreferredSize in class JComponent