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 classChatter.DisplayTextThis is aCommandobject that, when executed, displays a text message in the Chatter's text areaNested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanelNested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainerNested 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 JTextAreaconversationprotected JTextPaneconversationPaneprotected HTMLDocumentdocprotected static StringGAME_MSG_COLORDeprecated, for removal: This API element is subject to removal in a future version.protected static StringGAME_MSG1_COLORprotected static StringGAME_MSG2_COLORprotected static StringGAME_MSG3_COLORprotected static StringGAME_MSG4_COLORprotected static StringGAME_MSG5_COLORprotected ColorgameMsgprotected ColorgameMsg2protected ColorgameMsg3protected ColorgameMsg4protected ColorgameMsg5protected JTextFieldinputprotected HTMLEditorKitkitprotected static StringMY_CHAT_COLORprotected ColormyChatprotected FontmyFontprotected booleanneedUpdateprotected static StringOTHER_CHAT_COLORprotected ColorotherChatprotected JScrollPanescrollprotected JScrollPanescroll2protected StyleSheetstyleprotected static StringSYS_MSG_COLORprotected ColorsystemMsgFields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields 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 voidadd(Buildable b)Adds a child component.protected voidaddStyle(String s, Font f, Color c, String font_weight, int size)Adds or updates a CSS stylesheet entry.voidaddTo(Buildable b)Expects to be added to a GameModule.voidbuild(Element e)Build the objectbooleanconsoleHook(String s, String style, boolean html_allowed)A hook for inserting a console class that accepts commandsCommanddecode(String s)Translate a String into aCommandStringencode(Command c)Translate aCommandinto a Stringprotected StringformatChat(String text)static StringgetAnonymousUserName()ElementgetBuildElement(Document doc)protected StringgetChatStyle(String s)Styles a chat message based on the player who sent it.StringgetHandle()Deprecated, for removal: This API element is subject to removal in a future version.JTextFieldgetInputField()voidkeyCommand(KeyStroke e)Classes other than the Chatter itself may forward KeyEvents to the Chatter by using this methodstatic voidmain(String[] args)protected voidmakeStyleSheet(Font f)Build ourselves a CSS stylesheet from our preference font/color settings.voidsend(String msg)Displays the message, Also logs and sends to the server aCommandthat displays this message.protected voidsetChatterVisible(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.voidsetFont(Font f)Set the Font used by the text areavoidsetHandle(String s)Deprecated, for removal: This API element is subject to removal in a future version.No Replacementvoidshow(String s)Display a message in the text area.static voidwarning(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, updateUIMethods 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, updateMethods 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, validateTreeMethods 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:
setFontin classJComponent
-
build
Description copied from interface:BuildableBuild the object -
getBuildElement
- Specified by:
getBuildElementin 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:BuildableAdds 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:CommandEncoderTranslate a String into aCommand- Specified by:
decodein interfaceCommandEncoder
-
encode
Description copied from interface:CommandEncoderTranslate aCommandinto a String- Specified by:
encodein interfaceCommandEncoder
-
send
Displays the message, Also logs and sends to the server aCommandthat 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()