Class Chatter
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
VASSAL.build.module.Chatter
- All Implemented Interfaces:
DropTargetListener,ImageObserver,MenuContainer,Serializable,EventListener,Accessible,Buildable,CommandEncoder
- Direct Known Subclasses:
PrivateChatter
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:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classThis 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
FieldsModifier and TypeFieldDescriptionprotected JTextAreaprotected JTextPaneprotected HTMLDocumentprotected DropTargetprotected static final Stringprotected static final Stringprotected static final Stringprotected static final Stringprotected static final Stringprotected Colorprotected Colorprotected Colorprotected Colorprotected Colorprotected JTextFieldprotected HTMLEditorKitprotected static final Stringprotected Colorprotected Fontprotected booleanprotected static final Stringprotected Colorprotected JScrollPaneprotected StyleSheetprotected static final Stringprotected ColorFields 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 -
Method Summary
Modifier and TypeMethodDescriptionvoidAdds a child component.protected voidAdds or updates a CSS stylesheet entry.voidExpects to be added to a GameModule.voidBuild the object from the XML representation of the BuildablebooleanconsoleHook(String s, String style, boolean html_allowed) A hook for inserting a console class that accepts commandsTranslate a String into aCommandvoiddragEnter(DropTargetDragEvent event) voiddragExit(DropTargetEvent event) voiddragOver(DropTargetDragEvent event) voiddrop(DropTargetDropEvent dtde) We put the "drop" in drag-n-drop!voidTranslate aCommandinto a Stringprotected StringformatChat(String text) static StringgetBuildElement(Document doc) protected StringStyles a chat message based on the player who sent it.Deprecated, for removal: This API element is subject to removal in a future version.booleanIs this component a reqired component within its parent?booleanisUnique()Does this component need to be unique within it's parent?voidClasses other than the Chatter itself may forward KeyEvents to the Chatter by using this methodstatic voidprotected voidBuild ourselves a CSS stylesheet from our preference font/color settings.voidDisplays the message, Also logs and sends to the server aCommandthat displays this message.voidChecks first for an intercepted console command; otherwise displays the messageprotected 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.voidSet the Font used by the text areavoidDisplay a message in the text area.static voidWarning 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
-
MY_CHAT_COLOR
- See Also:
-
OTHER_CHAT_COLOR
- See Also:
-
GAME_MSG1_COLOR
- See Also:
-
GAME_MSG2_COLOR
- See Also:
-
GAME_MSG3_COLOR
- See Also:
-
GAME_MSG4_COLOR
- See Also:
-
GAME_MSG5_COLOR
- See Also:
-
SYS_MSG_COLOR
- See Also:
-
myFont
-
gameMsg
-
gameMsg2
-
gameMsg3
-
gameMsg4
-
gameMsg5
-
systemMsg
-
myChat
-
otherChat
-
needUpdate
protected boolean needUpdate -
dt
-
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
-
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
-
getBuildElement
- Specified by:
getBuildElementin interfaceBuildable- Parameters:
doc- XML file- 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
-
send
-
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
-
getHandle
Deprecated, for removal: This API element is subject to removal in a future version. -
dragEnter
- Specified by:
dragEnterin interfaceDropTargetListener
-
dragExit
- Specified by:
dragExitin interfaceDropTargetListener
-
dragOver
- Specified by:
dragOverin interfaceDropTargetListener
-
dropActionChanged
- Specified by:
dropActionChangedin interfaceDropTargetListener
-
drop
We put the "drop" in drag-n-drop!- Specified by:
dropin interfaceDropTargetListener- Parameters:
dtde- DropTargetDragEvent
-
isMandatory
public boolean isMandatory()Description copied from interface:BuildableIs this component a reqired component within its parent?- Specified by:
isMandatoryin interfaceBuildable- Returns:
- true if component is mandatory
-
isUnique
-
GlobalOptions.getPlayerId()