Package net.sf.freecol.client.gui.panel
Class MiniMap
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- net.sf.freecol.client.gui.panel.MiniMap
-
- All Implemented Interfaces:
java.awt.event.MouseListener,java.awt.event.MouseMotionListener,java.awt.image.ImageObserver,java.awt.MenuContainer,java.io.Serializable,java.util.EventListener,javax.accessibility.Accessible,javax.swing.event.MouseInputListener
public final class MiniMap extends javax.swing.JPanel implements javax.swing.event.MouseInputListenerThis component draws a small version of the map. It allows us to see a larger part of the map and to relocate the viewport by clicking on it. Pity its not a FreeColClientHolder.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
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
-
-
Field Summary
Fields Modifier and Type Field Description private intadjustXUsed for adjusting the position of the mapboard image.private intadjustYUsed for adjusting the position of the mapboard image.private intfirstColumnThe top left tile on the mini map represents the tile.private intfirstRowThe top left tile on the mini map represents the tile.private FreeColClientfreeColClientprivate static java.util.logging.Loggerloggerstatic intMAX_TILE_SIZEstatic intMIN_TILE_SIZEstatic intSCALE_STEPprivate inttileSizetileSize is the size (in pixels) that each tile will take up on the mini map-
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
-
-
Constructor Summary
Constructors Constructor Description MiniMap(FreeColClient freeColClient)The constructor that will initialize this component.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancanZoomIn()Return true if tile size can be decreased.booleancanZoomOut()Return true if tile size can be increased.private GamegetGame()Internal game accessor.private GUIgetGUI()Internal GUI accessor.private MapgetMap()Internal Map accessor.voidmouseClicked(java.awt.event.MouseEvent e)voidmouseDragged(java.awt.event.MouseEvent e)voidmouseEntered(java.awt.event.MouseEvent e)voidmouseExited(java.awt.event.MouseEvent e)voidmouseMoved(java.awt.event.MouseEvent e)voidmousePressed(java.awt.event.MouseEvent e)voidmouseReleased(java.awt.event.MouseEvent e)private voidpaintActualMapWhiteRectangle(java.awt.Graphics2D g, int minimapWidth, int minimapHeight)voidpaintComponent(java.awt.Graphics graphics)voidpaintMap(java.awt.Graphics graphics)Paints a representation of the mapboard onto this component.private voidsetFocus(java.awt.event.MouseEvent e)Set the map focus from a mouse click location.voidsetTileSize(int size)Set tile size to the given value, or the minimum or maximum bound of the tile size.private voidsetZoomOption(int tileSize)Set the DEFAULT_ZOOM_LEVEL option on the basis of a tile size.voidzoomIn()Zooms in the mini map.voidzoomOut()Zooms out the mini map.-
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, 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, 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 Detail
-
logger
private static final java.util.logging.Logger logger
-
MAX_TILE_SIZE
public static final int MAX_TILE_SIZE
- See Also:
- Constant Field Values
-
MIN_TILE_SIZE
public static final int MIN_TILE_SIZE
- See Also:
- Constant Field Values
-
SCALE_STEP
public static final int SCALE_STEP
- See Also:
- Constant Field Values
-
freeColClient
private final FreeColClient freeColClient
-
tileSize
private int tileSize
tileSize is the size (in pixels) that each tile will take up on the mini map
-
firstColumn
private int firstColumn
The top left tile on the mini map represents the tile. (firstColumn, firstRow) in the world map
-
firstRow
private int firstRow
The top left tile on the mini map represents the tile. (firstColumn, firstRow) in the world map
-
adjustX
private int adjustX
Used for adjusting the position of the mapboard image.- See Also:
paintMap(java.awt.Graphics)
-
adjustY
private int adjustY
Used for adjusting the position of the mapboard image.- See Also:
paintMap(java.awt.Graphics)
-
-
Constructor Detail
-
MiniMap
public MiniMap(FreeColClient freeColClient)
The constructor that will initialize this component.- Parameters:
freeColClient- TheFreeColClientfor the game.
-
-
Method Detail
-
getGUI
private GUI getGUI()
Internal GUI accessor.- Returns:
- The
GUI.
-
getGame
private Game getGame()
Internal game accessor.- Returns:
- The
Game.
-
getMap
private Map getMap()
Internal Map accessor.- Returns:
- The
Map.
-
setZoomOption
private void setZoomOption(int tileSize)
Set the DEFAULT_ZOOM_LEVEL option on the basis of a tile size.- Parameters:
tileSize- The tile size to check.
-
setFocus
private void setFocus(java.awt.event.MouseEvent e)
Set the map focus from a mouse click location.- Parameters:
e- TheMouseEventcontaining the location.
-
zoomIn
public void zoomIn()
Zooms in the mini map.
-
zoomOut
public void zoomOut()
Zooms out the mini map.
-
canZoomIn
public boolean canZoomIn()
Return true if tile size can be decreased.- Returns:
- a
booleanvalue
-
canZoomOut
public boolean canZoomOut()
Return true if tile size can be increased.- Returns:
- a
booleanvalue
-
setTileSize
public void setTileSize(int size)
Set tile size to the given value, or the minimum or maximum bound of the tile size. FIXME: Public for MapEditorController.createMiniMapThumbnail.- Parameters:
size- anintvalue
-
paintMap
public void paintMap(java.awt.Graphics graphics)
Paints a representation of the mapboard onto this component. FIXME: Public for MapEditorController.createMiniMapThumbnail.- Parameters:
graphics- TheGraphicscontext within which to draw.
-
paintActualMapWhiteRectangle
private void paintActualMapWhiteRectangle(java.awt.Graphics2D g, int minimapWidth, int minimapHeight)
-
mouseClicked
public void mouseClicked(java.awt.event.MouseEvent e)
- Specified by:
mouseClickedin interfacejava.awt.event.MouseListener
-
mousePressed
public void mousePressed(java.awt.event.MouseEvent e)
- Specified by:
mousePressedin interfacejava.awt.event.MouseListener
-
mouseReleased
public void mouseReleased(java.awt.event.MouseEvent e)
- Specified by:
mouseReleasedin interfacejava.awt.event.MouseListener
-
mouseEntered
public void mouseEntered(java.awt.event.MouseEvent e)
- Specified by:
mouseEnteredin interfacejava.awt.event.MouseListener
-
mouseExited
public void mouseExited(java.awt.event.MouseEvent e)
- Specified by:
mouseExitedin interfacejava.awt.event.MouseListener
-
mouseDragged
public void mouseDragged(java.awt.event.MouseEvent e)
- Specified by:
mouseDraggedin interfacejava.awt.event.MouseMotionListener
-
mouseMoved
public void mouseMoved(java.awt.event.MouseEvent e)
- Specified by:
mouseMovedin interfacejava.awt.event.MouseMotionListener
-
paintComponent
public void paintComponent(java.awt.Graphics graphics)
- Overrides:
paintComponentin classjavax.swing.JComponent
-
-