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:
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
Modifier and TypeClassDescriptionstatic class
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
Modifier and TypeFieldDescriptionprotected JTextArea
protected JTextPane
protected HTMLDocument
protected DropTarget
protected static final String
protected static final String
protected static final String
protected static final String
protected static final String
protected Color
protected Color
protected Color
protected Color
protected Color
protected JTextField
protected HTMLEditorKit
protected static final String
protected Color
protected Font
protected boolean
protected static final String
protected Color
protected JScrollPane
protected StyleSheet
protected static final String
protected Color
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
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Adds a child component.protected void
Adds or updates a CSS stylesheet entry.void
Expects to be added to a GameModule.void
Build the object from the XML representation of the Buildableboolean
consoleHook
(String s, String style, boolean html_allowed) A hook for inserting a console class that accepts commandsTranslate a String into aCommand
void
dragEnter
(DropTargetDragEvent event) void
dragExit
(DropTargetEvent event) void
dragOver
(DropTargetDragEvent event) void
drop
(DropTargetDropEvent dtde) We put the "drop" in drag-n-drop!void
Translate aCommand
into a Stringprotected String
formatChat
(String text) static String
getBuildElement
(Document doc) protected String
Styles a chat message based on the player who sent it.Deprecated, for removal: This API element is subject to removal in a future version.boolean
Is this component a reqired component within its parent?boolean
isUnique()
Does this component need to be unique within it's parent?void
Classes other than the Chatter itself may forward KeyEvents to the Chatter by using this methodstatic void
protected void
Build ourselves a CSS stylesheet from our preference font/color settings.void
Displays the message, Also logs and sends to the server aCommand
that displays this message.void
Checks first for an intercepted console command; otherwise displays the messageprotected 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
Set the Font used by the text areavoid
Display a message in the text area.static void
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
-
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:
setFont
in classJComponent
-
build
-
getBuildElement
- Specified by:
getBuildElement
in 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: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
-
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:
dragEnter
in interfaceDropTargetListener
-
dragExit
- Specified by:
dragExit
in interfaceDropTargetListener
-
dragOver
- Specified by:
dragOver
in interfaceDropTargetListener
-
dropActionChanged
- Specified by:
dropActionChanged
in interfaceDropTargetListener
-
drop
We put the "drop" in drag-n-drop!- Specified by:
drop
in interfaceDropTargetListener
- Parameters:
dtde
- DropTargetDragEvent
-
isMandatory
public boolean isMandatory()Description copied from interface:Buildable
Is this component a reqired component within its parent?- Specified by:
isMandatory
in interfaceBuildable
- Returns:
- true if component is mandatory
-
isUnique
-
GlobalOptions.getPlayerId()