de.kosi.gui.component
Class ChatComponent

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JPanel
                          |
                          +--de.kosi.gui.component.ChatComponent
All Implemented Interfaces:
javax.accessibility.Accessible, ChatListener, java.util.EventListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.rmi.Remote, java.io.Serializable

public class ChatComponent
extends javax.swing.JPanel
implements ChatListener

A simple component for chatting. Needs some localization support.

See Also:
Serialized Form

Inner classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Inner classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Inner classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Inner classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent
 
Field Summary
protected  javax.swing.text.SimpleAttributeSet attributeSet
          An attribute set.
protected  ChatChannel chatChannel
          The chat channel that this component displays.
protected  javax.swing.text.DefaultStyledDocument document
          This document becomes displayed by the text pane.
protected  ProxyChatListener proxyChatListener
          The proxy chat listener.
protected  javax.swing.JScrollPane scrollPane
          The scroll pane.
protected  CAction sendMessage
          An action that sends the content of the input field to the chat channel.
protected  javax.swing.JTextField textField
          An text input field.
protected  javax.swing.JTextPane textPane
          A text pane for displaying the received messages.
 
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
ChatComponent()
          Creates a chat component.
 
Method Summary
 void handleEvent(ChatEvent event)
          Handles chat events.
 void print(java.lang.String string)
          Writes a string to the end of the text pane's document using the current attribute set.
 void sendMessage(java.awt.event.ActionEvent event)
          Sends the text in the text field to the server.
 void setBold(boolean bold)
          Sets the bold flag.
 void setChatChannel(ChatChannel chatChannel)
          Sets the chat channel this component is connected to.
 void setColor(java.awt.Color color)
          Sets the foreground color.
 void setItalic(boolean italic)
          Sets the italic flag.
 void setUnderline(boolean underline)
          Sets the underline flag.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUIClassID, paramString, 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, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getVerifyInputWhenFocusTarget, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, hide, isDoubleBuffered, isFocusCycleRoot, isFocusTraversable, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processFocusEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getLayout, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setLayout, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, imageUpdate, inside, isDisplayable, isEnabled, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

chatChannel

protected ChatChannel chatChannel
The chat channel that this component displays.

sendMessage

protected CAction sendMessage
An action that sends the content of the input field to the chat channel.

textPane

protected javax.swing.JTextPane textPane
A text pane for displaying the received messages.

textField

protected javax.swing.JTextField textField
An text input field.

document

protected javax.swing.text.DefaultStyledDocument document
This document becomes displayed by the text pane.

attributeSet

protected javax.swing.text.SimpleAttributeSet attributeSet
An attribute set.

proxyChatListener

protected ProxyChatListener proxyChatListener
The proxy chat listener.

scrollPane

protected javax.swing.JScrollPane scrollPane
The scroll pane.
Constructor Detail

ChatComponent

public ChatComponent()
Creates a chat component.
Method Detail

setChatChannel

public void setChatChannel(ChatChannel chatChannel)
Sets the chat channel this component is connected to. A value of null tells that this component isn't connected to any channel.
Parameters:
chatChannel - the channel this component is to be connected to or null.

handleEvent

public void handleEvent(ChatEvent event)
Handles chat events. Has to be synchronized to deal with concurrent events.
Specified by:
handleEvent in interface ChatListener
Parameters:
event - the chat event.

print

public void print(java.lang.String string)
Writes a string to the end of the text pane's document using the current attribute set.
Parameters:
string - the string to write.

sendMessage

public void sendMessage(java.awt.event.ActionEvent event)
Sends the text in the text field to the server.
Parameters:
event - always null.

setBold

public void setBold(boolean bold)
Sets the bold flag.
Parameters:
bold - tells if the bold attribute should be set.

setUnderline

public void setUnderline(boolean underline)
Sets the underline flag.
Parameters:
underline - tells if the underline attribute should be set.

setItalic

public void setItalic(boolean italic)
Sets the italic flag.
Parameters:
italic - tells if the italic attribute should be set.

setColor

public void setColor(java.awt.Color color)
Sets the foreground color.
Parameters:
color - the foreground color.