Class GetPlayers

  • All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants

    public final class GetPlayers
    extends KFrame
    Class GetPlayers is a dialog used to enter players' names, types, variant, etc.
    Author:
    David Ripton, Romain Dolbeau
    See Also:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      (package private) static class  GetPlayers.varFileFilter  
      • Nested classes/interfaces inherited from class javax.swing.JFrame

        javax.swing.JFrame.AccessibleJFrame
      • Nested classes/interfaces inherited from class java.awt.Frame

        java.awt.Frame.AccessibleAWTFrame
      • Nested classes/interfaces inherited from class java.awt.Window

        java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
      • Nested classes/interfaces inherited from class java.awt.Container

        java.awt.Container.AccessibleAWTContainer
      • Nested classes/interfaces inherited from class java.awt.Component

        java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private boolean byWebClient  
      private javax.swing.JLabel delayLabel  
      private javax.swing.JComboBox eventExpiringBox  
      private static java.lang.String loadVariant  
      private static java.util.logging.Logger LOGGER  
      private java.lang.Object mutex  
      private boolean mutexNotified  
      private int oldDelay  
      private int oldLimit  
      private Options options
      This is Game's options, which we will modify directly.
      private javax.swing.JComboBox[] playerNames  
      private javax.swing.JComboBox[] playerTypes  
      private boolean quitAlreadyTried  
      private javax.swing.JEditorPane readme  
      private javax.swing.JScrollPane readmeScrollPane  
      private javax.swing.JLabel runningOnLabel  
      private SaveWindow saveWindow  
      private int serveAtPort  
      private javax.swing.JComboBox serveAtPortBox  
      private java.util.TreeSet<java.lang.String> sPortChoices  
      private Options stOptions  
      private javax.swing.JTabbedPane tabbedPane  
      private javax.swing.JLabel timeLimitLabel  
      private java.util.Vector<java.lang.String> typeChoices  
      private javax.swing.JComboBox variantBox  
      private java.util.Vector<java.lang.String> variantVector  
      private javax.swing.JComboBox viewModeBox  
      private WhatNextManager whatNextManager  
      • Fields inherited from class javax.swing.JFrame

        accessibleContext, rootPane, rootPaneCheckingEnabled
      • Fields inherited from class java.awt.Frame

        CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
      • Fields inherited from class java.awt.Component

        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
      • Fields inherited from interface javax.swing.WindowConstants

        DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE
    • Constructor Summary

      Constructors 
      Constructor Description
      GetPlayers​(Options options, java.lang.Object mutex, WhatNextManager whatNextMgr, boolean byWebClient)
      Clear options to abort
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private void actOnVariantChange​(int oldMaxPlayers, java.lang.String newVarName)  
      private void addCheckbox​(java.lang.String optname, java.awt.Container pane)  
      private void addVariantToBoxIfNeeded​(java.lang.String varName)  
      void dispose()  
      private void doClientDialog()  
      private void doLoadGame()  
      private void doLoadVariant()  
      (package private) void doNewGame()
      package privat for unit test case
      private void doOnePlayer​(int i, java.awt.Container allPlayersPane)  
      private void doQuit()  
      private void doRunWebClient()  
      private void enablePlayers()  
      java.awt.Dimension getMinimumSize()  
      boolean getMutexNotified()  
      java.awt.Dimension getPreferredSize()  
      private java.lang.String makeUniqueName​(java.lang.String baseName, int i)  
      private void setDelayLabel​(int delay)  
      (package private) void setPlayerType​(int i, java.lang.String type)
      Only meant for unit tests
      private void setRunningOnLabel​(int port)  
      private void setTimeLimitLabel​(int limit)  
      private void setupTypeChoices()  
      private boolean validateInputs()
      Check if values are legal; if yes, caller can start the game.
      • Methods inherited from class javax.swing.JFrame

        addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
      • Methods inherited from class java.awt.Frame

        addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setBackground, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecorated
      • Methods inherited from class java.awt.Window

        addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, show, toBack, toFront
      • Methods inherited from class java.awt.Container

        add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, 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, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.awt.MenuContainer

        getFont, postEvent
    • Field Detail

      • LOGGER

        private static final java.util.logging.Logger LOGGER
      • mutex

        private final java.lang.Object mutex
      • mutexNotified

        private boolean mutexNotified
      • runningOnLabel

        private final javax.swing.JLabel runningOnLabel
      • serveAtPortBox

        private final javax.swing.JComboBox serveAtPortBox
      • sPortChoices

        private final java.util.TreeSet<java.lang.String> sPortChoices
      • typeChoices

        private final java.util.Vector<java.lang.String> typeChoices
      • playerTypes

        private final javax.swing.JComboBox[] playerTypes
      • playerNames

        private final javax.swing.JComboBox[] playerNames
      • readme

        private javax.swing.JEditorPane readme
      • readmeScrollPane

        private javax.swing.JScrollPane readmeScrollPane
      • tabbedPane

        private final javax.swing.JTabbedPane tabbedPane
      • variantBox

        private final javax.swing.JComboBox variantBox
      • variantVector

        private final java.util.Vector<java.lang.String> variantVector
      • viewModeBox

        private final javax.swing.JComboBox viewModeBox
      • eventExpiringBox

        private final javax.swing.JComboBox eventExpiringBox
      • serveAtPort

        private int serveAtPort
      • options

        private final Options options
        This is Game's options, which we will modify directly.
      • stOptions

        private final Options stOptions
      • byWebClient

        private final boolean byWebClient
      • oldDelay

        private int oldDelay
      • delayLabel

        private final javax.swing.JLabel delayLabel
      • oldLimit

        private int oldLimit
      • timeLimitLabel

        private final javax.swing.JLabel timeLimitLabel
      • quitAlreadyTried

        private boolean quitAlreadyTried
    • Constructor Detail

      • GetPlayers

        public GetPlayers​(Options options,
                          java.lang.Object mutex,
                          WhatNextManager whatNextMgr,
                          boolean byWebClient)
        Clear options to abort
    • Method Detail

      • actOnVariantChange

        private void actOnVariantChange​(int oldMaxPlayers,
                                        java.lang.String newVarName)
      • setRunningOnLabel

        private void setRunningOnLabel​(int port)
      • setDelayLabel

        private void setDelayLabel​(int delay)
      • setTimeLimitLabel

        private void setTimeLimitLabel​(int limit)
      • setupTypeChoices

        private void setupTypeChoices()
      • doOnePlayer

        private void doOnePlayer​(int i,
                                 java.awt.Container allPlayersPane)
      • enablePlayers

        private void enablePlayers()
      • addCheckbox

        private void addCheckbox​(java.lang.String optname,
                                 java.awt.Container pane)
      • validateInputs

        private boolean validateInputs()
        Check if values are legal; if yes, caller can start the game.
      • doLoadGame

        private void doLoadGame()
      • doClientDialog

        private void doClientDialog()
      • doRunWebClient

        private void doRunWebClient()
      • doQuit

        private void doQuit()
      • doNewGame

        void doNewGame()
        package privat for unit test case
      • doLoadVariant

        private void doLoadVariant()
      • makeUniqueName

        private java.lang.String makeUniqueName​(java.lang.String baseName,
                                                int i)
      • addVariantToBoxIfNeeded

        private void addVariantToBoxIfNeeded​(java.lang.String varName)
      • getMinimumSize

        public java.awt.Dimension getMinimumSize()
        Overrides:
        getMinimumSize in class java.awt.Container
      • getPreferredSize

        public java.awt.Dimension getPreferredSize()
        Overrides:
        getPreferredSize in class java.awt.Container
      • dispose

        public void dispose()
        Overrides:
        dispose in class KFrame
      • setPlayerType

        void setPlayerType​(int i,
                           java.lang.String type)
        Only meant for unit tests
      • getMutexNotified

        public boolean getMutexNotified()