Package VASSAL.build.module
Class Chatter
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
VASSAL.build.module.Chatter
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,Serializable
,Accessible
,Buildable
,CommandEncoder
- Direct Known Subclasses:
PrivateChatter
public class Chatter extends JPanel implements CommandEncoder, Buildable
The chat window component. Displays text messages and accepts input. Also
acts as a
CommandEncoder
, encoding/decoding commands that display
message in the text area- See Also:
- Serialized Form
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
Chatter.DisplayText
This is aCommand
object that, when executed, displays a text message in the Chatter's text areaNested 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
Fields Modifier and Type Field Description protected JTextArea
conversation
protected JTextPane
conversationPane
protected HTMLDocument
doc
protected static String
GAME_MSG_COLOR
Deprecated, for removal: This API element is subject to removal in a future version.protected static String
GAME_MSG1_COLOR
protected static String
GAME_MSG2_COLOR
protected static String
GAME_MSG3_COLOR
protected static String
GAME_MSG4_COLOR
protected static String
GAME_MSG5_COLOR
protected Color
gameMsg
protected Color
gameMsg2
protected Color
gameMsg3
protected Color
gameMsg4
protected Color
gameMsg5
protected JTextField
input
protected HTMLEditorKit
kit
protected static String
MY_CHAT_COLOR
protected Color
myChat
protected Font
myFont
protected boolean
needUpdate
protected static String
OTHER_CHAT_COLOR
protected Color
otherChat
protected JScrollPane
scroll
protected JScrollPane
scroll2
protected StyleSheet
style
protected static String
SYS_MSG_COLOR
protected Color
systemMsg
Fields inherited from class javax.swing.JComponent
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
accessibleContext, 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
Constructors Constructor Description Chatter()
-
Method Summary
Modifier and Type Method Description void
add(Buildable b)
Adds a child component.protected void
addStyle(String s, Font f, Color c, String font_weight, int size)
Adds or updates a CSS stylesheet entry.void
addTo(Buildable b)
Expects to be added to a GameModule.void
build(Element e)
Build the objectboolean
consoleHook(String s, String style, boolean html_allowed)
A hook for inserting a console class that accepts commandsCommand
decode(String s)
Translate a String into aCommand
String
encode(Command c)
Translate aCommand
into a Stringprotected String
formatChat(String text)
static String
getAnonymousUserName()
Element
getBuildElement(Document doc)
protected String
getChatStyle(String s)
Styles a chat message based on the player who sent it.String
getHandle()
Deprecated, for removal: This API element is subject to removal in a future version.JTextField
getInputField()
void
keyCommand(KeyStroke e)
Classes other than the Chatter itself may forward KeyEvents to the Chatter by using this methodstatic void
main(String[] args)
protected void
makeStyleSheet(Font f)
Build ourselves a CSS stylesheet from our preference font/color settings.void
send(String msg)
Displays the message, Also logs and sends to the server aCommand
that displays this message.protected void
setChatterVisible(boolean vis)
Because our Chatters make themselves visible in their constructor, providing a way for an overriding class to "turn this chatter off" is friendlier than What Went Before.void
setFont(Font f)
Set the Font used by the text areavoid
setHandle(String s)
Deprecated, for removal: This API element is subject to removal in a future version.No Replacementvoid
show(String s)
Display a message in the text area.static void
warning(String msg)
Warning message method -- same as send, but accepts messages from static methods.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, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, 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, 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, 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, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Field Details
-
conversationPane
-
doc
-
kit
-
style
-
input
-
scroll
-
scroll2
-
MY_CHAT_COLOR
- See Also:
- Constant Field Values
-
OTHER_CHAT_COLOR
- See Also:
- Constant Field Values
-
GAME_MSG1_COLOR
- See Also:
- Constant Field Values
-
GAME_MSG2_COLOR
- See Also:
- Constant Field Values
-
GAME_MSG3_COLOR
- See Also:
- Constant Field Values
-
GAME_MSG4_COLOR
- See Also:
- Constant Field Values
-
GAME_MSG5_COLOR
- See Also:
- Constant Field Values
-
SYS_MSG_COLOR
- See Also:
- Constant Field Values
-
GAME_MSG_COLOR
Deprecated, for removal: This API element is subject to removal in a future version.- See Also:
- Constant Field Values
-
myFont
-
gameMsg
-
gameMsg2
-
gameMsg3
-
gameMsg4
-
gameMsg5
-
systemMsg
-
myChat
-
otherChat
-
needUpdate
protected boolean needUpdate -
conversation
-
-
Constructor Details
-
Chatter
public Chatter()
-
-
Method Details
-
getAnonymousUserName
-
setChatterVisible
protected void setChatterVisible(boolean vis)Because our Chatters make themselves visible in their constructor, providing a way for an overriding class to "turn this chatter off" is friendlier than What Went Before.- Parameters:
vis
- - whether this chatter should be visible
-
formatChat
-
getInputField
-
getChatStyle
Styles a chat message based on the player who sent it. Presently just distinguishes a chat message "from me" from a chat message "from anyone else". To make the player colors easy to override in a custom class (my modules have logic to assign individual player colors -- beyond the scope of the present effort but a perhaps a fun future addition)- Parameters:
s
- - chat message from a player- Returns:
- - an entry in our CSS style sheet to use for this chat message
-
consoleHook
A hook for inserting a console class that accepts commands- Parameters:
s
- - chat messagestyle
- - current style name (contains information that might be useful)html_allowed
- - flag if html_processing is enabled for this message (allows console to apply security considerations)- Returns:
- true - if was accepted as a console command
-
show
Display a message in the text area. Ensures we execute in the EDT -
addStyle
Adds or updates a CSS stylesheet entry. Styles in the color, font type, and font size.- Parameters:
s
- Style namef
- Font to usec
- Color for textfont_weight
- Bold? Italic?size
- Font size
-
makeStyleSheet
Build ourselves a CSS stylesheet from our preference font/color settings.- Parameters:
f
- - Font to use for this stylesheet
-
setFont
Set the Font used by the text area- Overrides:
setFont
in classJComponent
-
build
Description copied from interface:Buildable
Build the object -
getBuildElement
- Specified by:
getBuildElement
in interfaceBuildable
- Returns:
- an XML element from which this component can be built
-
addTo
Expects to be added to a GameModule. Adds itself to the controls window and registers itself as aCommandEncoder
-
add
Description copied from interface:Buildable
Adds a child component. Both this method andBuildable.addTo(VASSAL.build.Buildable)
are invoked when adding a child to a parent -
decode
Description copied from interface:CommandEncoder
Translate a String into aCommand
- Specified by:
decode
in interfaceCommandEncoder
-
encode
Description copied from interface:CommandEncoder
Translate aCommand
into a String- Specified by:
encode
in interfaceCommandEncoder
-
send
Displays the message, Also logs and sends to the server aCommand
that displays this message. -
warning
Warning message method -- same as send, but accepts messages from static methods. For reporting soft-fail problems in modules. -
keyCommand
Classes other than the Chatter itself may forward KeyEvents to the Chatter by using this method -
main
-
setHandle
Deprecated, for removal: This API element is subject to removal in a future version.No Replacement -
getHandle
Deprecated, for removal: This API element is subject to removal in a future version.
-
GlobalOptions.getPlayerId()