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.MouseInputListener
This 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 int
adjustX
Used for adjusting the position of the mapboard image.private int
adjustY
Used for adjusting the position of the mapboard image.private int
firstColumn
The top left tile on the mini map represents the tile.private int
firstRow
The top left tile on the mini map represents the tile.private FreeColClient
freeColClient
private static java.util.logging.Logger
logger
static int
MAX_TILE_SIZE
static int
MIN_TILE_SIZE
static int
SCALE_STEP
private int
tileSize
tileSize 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 boolean
canZoomIn()
Return true if tile size can be decreased.boolean
canZoomOut()
Return true if tile size can be increased.private Game
getGame()
Internal game accessor.private GUI
getGUI()
Internal GUI accessor.private Map
getMap()
Internal Map accessor.void
mouseClicked(java.awt.event.MouseEvent e)
void
mouseDragged(java.awt.event.MouseEvent e)
void
mouseEntered(java.awt.event.MouseEvent e)
void
mouseExited(java.awt.event.MouseEvent e)
void
mouseMoved(java.awt.event.MouseEvent e)
void
mousePressed(java.awt.event.MouseEvent e)
void
mouseReleased(java.awt.event.MouseEvent e)
private void
paintActualMapWhiteRectangle(java.awt.Graphics2D g, int minimapWidth, int minimapHeight)
void
paintComponent(java.awt.Graphics graphics)
void
paintMap(java.awt.Graphics graphics)
Paints a representation of the mapboard onto this component.private void
setFocus(java.awt.event.MouseEvent e)
Set the map focus from a mouse click location.void
setTileSize(int size)
Set tile size to the given value, or the minimum or maximum bound of the tile size.private void
setZoomOption(int tileSize)
Set the DEFAULT_ZOOM_LEVEL option on the basis of a tile size.void
zoomIn()
Zooms in the mini map.void
zoomOut()
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
- TheFreeColClient
for 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
- TheMouseEvent
containing 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
boolean
value
-
canZoomOut
public boolean canZoomOut()
Return true if tile size can be increased.- Returns:
- a
boolean
value
-
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
- anint
value
-
paintMap
public void paintMap(java.awt.Graphics graphics)
Paints a representation of the mapboard onto this component. FIXME: Public for MapEditorController.createMiniMapThumbnail.- Parameters:
graphics
- TheGraphics
context 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:
mouseClicked
in interfacejava.awt.event.MouseListener
-
mousePressed
public void mousePressed(java.awt.event.MouseEvent e)
- Specified by:
mousePressed
in interfacejava.awt.event.MouseListener
-
mouseReleased
public void mouseReleased(java.awt.event.MouseEvent e)
- Specified by:
mouseReleased
in interfacejava.awt.event.MouseListener
-
mouseEntered
public void mouseEntered(java.awt.event.MouseEvent e)
- Specified by:
mouseEntered
in interfacejava.awt.event.MouseListener
-
mouseExited
public void mouseExited(java.awt.event.MouseEvent e)
- Specified by:
mouseExited
in interfacejava.awt.event.MouseListener
-
mouseDragged
public void mouseDragged(java.awt.event.MouseEvent e)
- Specified by:
mouseDragged
in interfacejava.awt.event.MouseMotionListener
-
mouseMoved
public void mouseMoved(java.awt.event.MouseEvent e)
- Specified by:
mouseMoved
in interfacejava.awt.event.MouseMotionListener
-
paintComponent
public void paintComponent(java.awt.Graphics graphics)
- Overrides:
paintComponent
in classjavax.swing.JComponent
-
-