net.sf.freecol.client.gui.panel
Class DifficultyDialog

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by net.sf.freecol.client.gui.panel.FreeColPanel
                      extended by net.sf.freecol.client.gui.panel.FreeColDialog<OptionGroup>
                          extended by net.sf.freecol.client.gui.panel.OptionsDialog
                              extended by net.sf.freecol.client.gui.panel.DifficultyDialog
All Implemented Interfaces:
java.awt.event.ActionListener, java.awt.event.ItemListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible

public final class DifficultyDialog
extends OptionsDialog
implements java.awt.event.ItemListener

Dialog for displaying and modifying the difficulty level.

See Also:
OptionGroup, Serialized Form

Nested Class Summary
private  class DifficultyDialog.BoxRenderer
           
 
Nested classes/interfaces inherited from class net.sf.freecol.client.gui.panel.FreeColDialog
FreeColDialog.FreeColFileFilter
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
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
private  java.lang.String CUSTOM_LEVEL
           
private  java.lang.String DEFAULT_LEVEL
           
private  javax.swing.JComboBox difficultyBox
           
private  javax.swing.JButton edit
           
private static java.lang.String EDIT
           
private static java.util.logging.Logger logger
           
private  Specification specification
          We need our own copy of the specification, as the dialog is used before the game has been started.
 
Fields inherited from class net.sf.freecol.client.gui.panel.OptionsDialog
filters, LOAD, save
 
Fields inherited from class net.sf.freecol.client.gui.panel.FreeColDialog
CANCEL, cancelButton
 
Fields inherited from class net.sf.freecol.client.gui.panel.FreeColPanel
bigHeaderFont, BORDER_COLOR, CELLBORDER, COLUMNS, defaultFont, editable, emptyMargin, HELP, LEFTCELLBORDER, LINK_COLOR, margin, mediumHeaderFont, modifierFormat, OK, okButton, smallHeaderFont, styleContext, TOPCELLBORDER, TOPLEFTCELLBORDER, WARNING_COLOR
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
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
 
Constructor Summary
DifficultyDialog(FreeColClient freeColClient, GUI gui, OptionGroup level)
          Use this constructor to display the difficulty level of the current game read-only.
DifficultyDialog(FreeColClient freeColClient, GUI gui, Specification specification)
          Use this constructor to allow the selection of a difficulty level when starting a new game.
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent event)
          This function analyses an event and calls the right methods to take care of the user's requests.
 java.lang.String getDefaultFileName()
          Returns the default file name to save the custom difficulty level.
 java.lang.String getOptionGroupId()
          Returns the ID of the OptionGroup.
 Specification getSpecification()
          Returns this dialog's instance of the Specification.
 boolean isEditable()
          Checks if this panel is editable
protected  boolean isGroupEditable()
           
 void itemStateChanged(java.awt.event.ItemEvent event)
          
 
Methods inherited from class net.sf.freecol.client.gui.panel.OptionsDialog
getButtons, getGroup, getMinimumSize, getOptionUI, getPreferredSize, initialize, load, loadCustomOptions, updateUI
 
Methods inherited from class net.sf.freecol.client.gui.panel.FreeColDialog
createChoiceDialog, createConfirmDialog, createConfirmDialog, createInputDialog, createLoadDialog, createMapSizeDialog, createSaveDialog, getFGOFileFilter, getFSGFileFilter, getGameOptionsFileFilter, getResponse, initialize, resetResponse, setResponse
 
Methods inherited from class net.sf.freecol.client.gui.panel.FreeColPanel
addClosingCallback, createColonyButton, enterPressesWhenFocused, getCanvas, getClientOptions, getController, getDefaultHeader, getDefaultTextArea, getDefaultTextArea, getDefaultTextPane, getDefaultTextPane, getElectionTurns, getFreeColClient, getGame, getGUI, getLibrary, getLinkButton, getModifierFormat, getMyPlayer, getSavedPosition, getSavedSize, getSortedColonies, localizedLabel, localizedLabel, notifyClose, requestFocus, restoreSavedSize, restoreSavedSize, setCancelComponent, setEditable, sortModifiers
 
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, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, 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, 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, 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, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

logger

private static final java.util.logging.Logger logger

EDIT

private static final java.lang.String EDIT
See Also:
Constant Field Values

edit

private javax.swing.JButton edit

DEFAULT_LEVEL

private java.lang.String DEFAULT_LEVEL

CUSTOM_LEVEL

private java.lang.String CUSTOM_LEVEL

specification

private Specification specification
We need our own copy of the specification, as the dialog is used before the game has been started.


difficultyBox

private final javax.swing.JComboBox difficultyBox
Constructor Detail

DifficultyDialog

public DifficultyDialog(FreeColClient freeColClient,
                        GUI gui,
                        OptionGroup level)
Use this constructor to display the difficulty level of the current game read-only.

Parameters:
parent - a Canvas value
level - an OptionGroup value

DifficultyDialog

public DifficultyDialog(FreeColClient freeColClient,
                        GUI gui,
                        Specification specification)
Use this constructor to allow the selection of a difficulty level when starting a new game.

Parameters:
parent - The parent of this panel.
specification - a Specification value
Method Detail

isGroupEditable

protected boolean isGroupEditable()
Overrides:
isGroupEditable in class OptionsDialog

isEditable

public boolean isEditable()
Description copied from class: FreeColPanel
Checks if this panel is editable

Overrides:
isEditable in class FreeColPanel
Returns:
boolean

getOptionGroupId

public java.lang.String getOptionGroupId()
Description copied from class: OptionsDialog
Returns the ID of the OptionGroup.

Specified by:
getOptionGroupId in class OptionsDialog
Returns:
String

getSpecification

public Specification getSpecification()
Returns this dialog's instance of the Specification.

Overrides:
getSpecification in class FreeColPanel
Returns:
a Specification value

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent event)
This function analyses an event and calls the right methods to take care of the user's requests.

Specified by:
actionPerformed in interface java.awt.event.ActionListener
Overrides:
actionPerformed in class OptionsDialog
Parameters:
event - ActionEvent, the incoming action event

itemStateChanged

public void itemStateChanged(java.awt.event.ItemEvent event)

Specified by:
itemStateChanged in interface java.awt.event.ItemListener

getDefaultFileName

public java.lang.String getDefaultFileName()
Returns the default file name to save the custom difficulty level.

Specified by:
getDefaultFileName in class OptionsDialog
Returns:
"custom.xml"