Class StatusBarPhaseDisplay
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
megamek.client.ui.widget.SkinnedJPanel
megamek.client.ui.panels.phaseDisplay.AbstractPhaseDisplay
megamek.client.ui.panels.phaseDisplay.StatusBarPhaseDisplay
- All Implemented Interfaces:
- ActionListener,- ImageObserver,- MenuContainer,- Serializable,- EventListener,- Accessible,- BoardViewListener,- KeyBindReceiver,- GameListener,- IPreferenceChangeListener,- Distractable
- Direct Known Subclasses:
- ActionPhaseDisplay,- DeploymentDisplay,- DeployMinefieldDisplay,- PrephaseDisplay,- ReportDisplay,- SBFActionPhaseDisplay,- SBFReportDisplay,- SelectArtyAutoHitHexDisplay
public abstract class StatusBarPhaseDisplay
extends AbstractPhaseDisplay
implements ActionListener, IPreferenceChangeListener, KeyBindReceiver
This is a parent class for the button display for each phase.  Every phase has a panel of control buttons along with
 a Done button. Each button corresponds to a command that can be carried out in the current phase. This class formats
 the button panel, the done button, and a status display area. Control buttons are grouped and the groups can be
 cycled through.
- See Also:
- 
Nested Class SummaryNested ClassesModifier and TypeClassDescriptionstatic classComparator for comparing the priority of two commands, used to determine button order.static interfaceInterface that defines what a command for a phase is.Nested classes/interfaces inherited from class javax.swing.JPanelJPanel.AccessibleJPanelNested classes/interfaces inherited from class javax.swing.JComponentJComponent.AccessibleJComponentNested classes/interfaces inherited from class java.awt.ContainerContainer.AccessibleAWTContainerNested classes/interfaces inherited from class java.awt.ComponentComponent.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
- 
Field SummaryFieldsModifier and TypeFieldDescriptionprotected intprotected intprotected final IClientGUIprotected intThe button group that is currently displayedprotected static final GUIPreferencesprotected static final Dimensionprotected intThe number of button groups there are, needs to be computed in a child class.protected JPanelprotected JPanelFields inherited from class megamek.client.ui.panels.phaseDisplay.AbstractPhaseDisplaybutDone, DONE_BUTTON_WIDTHFields inherited from class javax.swing.JComponentlistenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields inherited from class java.awt.ComponentaccessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface java.awt.image.ImageObserverABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionprotected voidaddToDonePanel(JPanel donePanel, JComponent item) abstract voidclear()Clears the actions of this phase.protected MegaMekButtoncreateButton(String cmd, String keyPrefix) protected StringcreateToolTip(String cmd, String keyPrefix, String hotKeyDesc) voidprotected abstract List<MegaMekButton>Returns the list of buttons that should be displayed.booleanprotected StringplayerNameOrUnknown(Player player) voidprotected abstract voidset button that should be displayed.protected abstract voidset button tool tips that should be displayed.voidsetStatusBarText(String text) voidvoidAdds buttons to the button panel.protected UIUtil.FixedXPanelprotected voidsetupStatusBar(String statusInfo) Sets up the status bar.booleanThis method should return true when this KeyBindReceiver is in a state to receive the keybind and may react to it, false otherwise.voidvoidMethods inherited from class megamek.client.ui.panels.phaseDisplay.AbstractPhaseDisplayboardHexHighlighted, finishedMovingUnits, firstLOSHex, gameBoardChanged, gameBoardNew, gameClientFeedbackRequest, gameEnd, gameEntityChange, gameEntityNew, gameEntityNewOffboard, gameEntityRemove, gameMapQuery, gameNewAction, gamePhaseChange, gamePlayerChange, gamePlayerChat, gamePlayerConnected, gamePlayerDisconnected, gameReport, gameSettingsChange, gameTurnChange, gameVictory, getButDone, getClientGUI, hexCursor, hexMoused, hexSelected, isIgnoringEvents, isMyTurn, ready, secondLOSHex, sendDone, setIgnoringEvents, unitSelectedMethods inherited from class megamek.client.ui.widget.SkinnedJPanelpaintComponentMethods inherited from class javax.swing.JPanelgetAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUIMethods inherited from class javax.swing.JComponentaddAncestorListener, 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, 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, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, updateMethods inherited from class java.awt.Containeradd, 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.Componentaction, 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, transferFocusUpCycleMethods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface java.awt.event.ActionListeneractionPerformedMethods inherited from interface megamek.common.util.DistractableremoveAllListenersMethods inherited from interface megamek.common.event.GameListenergamePlayerStrategicAction, gameScriptedEvent, gameUnitChange
- 
Field Details- 
GUIP
- 
MIN_BUTTON_SIZE
- 
clientGUI
- 
panStatus
- 
panButtons
- 
currentButtonGroupprotected int currentButtonGroupThe button group that is currently displayed
- 
numButtonGroupsprotected int numButtonGroupsThe number of button groups there are, needs to be computed in a child class.
- 
buttonsPerRowprotected int buttonsPerRow
- 
buttonsPerGroupprotected int buttonsPerGroup
 
- 
- 
Constructor Details- 
StatusBarPhaseDisplay
 
- 
- 
Method Details- 
getButtonListReturns the list of buttons that should be displayed.
- 
setButtonsprotected abstract void setButtons()set button that should be displayed.
- 
createButton
- 
setButtonsTooltipsprotected abstract void setButtonsTooltips()set button tool tips that should be displayed.
- 
createToolTip
- 
setupButtonPanelpublic void setupButtonPanel()Adds buttons to the button panel. The buttons to be added are retrieved with thegetButtonList()method. The number of buttons to display is defined inbuttonsPerGroupand which group of buttons will be displayed is set bycurrentButtonGroup.
- 
setupDonePanel
- 
addToDonePanel
- 
clearpublic abstract void clear()Clears the actions of this phase. Called usually when the ESC key is pressed.
- 
setupStatusBarSets up the status bar. It usually displays info on the current phase and if it's the local player's turn.
- 
setStatusBarText
- 
preferenceChange- Specified by:
- preferenceChangein interface- IPreferenceChangeListener
 
- 
shouldReceiveKeyCommandspublic boolean shouldReceiveKeyCommands()Description copied from interface:KeyBindReceiverThis method should return true when this KeyBindReceiver is in a state to receive the keybind and may react to it, false otherwise. This should return false when the receiver is hidden, inactive or behind a modal dialog. It should return true when it would be expected to act on a keybind, i.e. when it has the appearance of being in focus.When this method returns false, this receiver will not be counted as having consumed the key press. - Specified by:
- shouldReceiveKeyCommandsin interface- KeyBindReceiver
- Returns:
- True when the receiver is in a state to receive the keybind and may react to it. False otherwise.
 
- 
startTimerpublic void startTimer()
- 
stopTimerpublic void stopTimer()
- 
extendTimerpublic void extendTimer()
- 
isTimerExpiredpublic boolean isTimerExpired()- Returns:
- True when there is a turn timer, and it has expired, false when there was no turn timer, or it has not yet expired.
 
- 
getRemainingPlayerWithTurns
- 
setStatusBarWithNotDonePlayerspublic void setStatusBarWithNotDonePlayers()
- 
playerNameOrUnknown
 
-