jrummikub.view.impl
Class StoneCollectionPanel

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 jrummikub.view.impl.AbstractStonePanel
                      extended by jrummikub.view.impl.StoneCollectionPanel
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, IClickable, IStoneCollectionPanel, IStonePanel

 class StoneCollectionPanel
extends AbstractStonePanel
implements IStoneCollectionPanel

Implementation of the stone collection (selection)


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
 
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 static javax.swing.ImageIcon BACKGROUND
           
private static javax.swing.ImageIcon DARK_BACKGROUND
           
private  boolean hidden
           
private static float INSET_RATIO
           
private  Event1<java.awt.Point> otherClickEvent
           
private  java.util.Collection<Stone> selectedStones
           
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, 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
StoneCollectionPanel()
          Creates a new StoneCollection instance
 
Method Summary
(package private)  IEvent1<java.awt.Point> getOtherClickEvent()
          The other click event is emitted by the stone collection when the player has clicked on it, but hasn't hit a stone.
protected  Pair<java.lang.Integer,java.lang.Integer> getTranslation()
          Returns the translation in pixels the stones in this panel are painted with
protected  boolean handleOtherClickEvent(Position pos)
          Overwrite this method to signal if special zone was clicked
 void paintComponent(java.awt.Graphics g1)
           
private  void rescale()
           
 void setHidden(boolean enable)
          Hide stone collection
(package private)  void setSelectedStones(java.util.Collection<Stone> selectedStones)
          Sets the stones to be shown in the collection
 
Methods inherited from class jrummikub.view.impl.AbstractStonePanel
clickAt, getClickEvent, getHoveredStone, getRangeClickEvent, getSetClickEvent, getStoneClickEvent, getStonePainter, getStones, handleOtherMoveEvent, setStones
 
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, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, 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, 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
 
Methods inherited from interface jrummikub.view.IStonePanel
getRangeClickEvent, getSetClickEvent, getStoneClickEvent
 

Field Detail

BACKGROUND

private static final javax.swing.ImageIcon BACKGROUND

DARK_BACKGROUND

private static final javax.swing.ImageIcon DARK_BACKGROUND

INSET_RATIO

private static final float INSET_RATIO
See Also:
Constant Field Values

selectedStones

private java.util.Collection<Stone> selectedStones

otherClickEvent

private Event1<java.awt.Point> otherClickEvent

hidden

private boolean hidden
Constructor Detail

StoneCollectionPanel

StoneCollectionPanel()
Creates a new StoneCollection instance

Method Detail

rescale

private void rescale()

setSelectedStones

void setSelectedStones(java.util.Collection<Stone> selectedStones)
Sets the stones to be shown in the collection

Parameters:
selectedStones - the selected stones

getTranslation

protected Pair<java.lang.Integer,java.lang.Integer> getTranslation()
Description copied from class: AbstractStonePanel
Returns the translation in pixels the stones in this panel are painted with

Overrides:
getTranslation in class AbstractStonePanel
Returns:
the translation

getOtherClickEvent

IEvent1<java.awt.Point> getOtherClickEvent()
The other click event is emitted by the stone collection when the player has clicked on it, but hasn't hit a stone. This is rather probable as the stone collection panel is filling the whole table width while being mostly invisible.

Returns:
the event

handleOtherClickEvent

protected boolean handleOtherClickEvent(Position pos)
Description copied from class: AbstractStonePanel
Overwrite this method to signal if special zone was clicked

Overrides:
handleOtherClickEvent in class AbstractStonePanel
Parameters:
pos - the clicked position
Returns:
special zone clicked

paintComponent

public void paintComponent(java.awt.Graphics g1)
Overrides:
paintComponent in class javax.swing.JComponent

setHidden

public void setHidden(boolean enable)
Description copied from interface: IStoneCollectionPanel
Hide stone collection

Specified by:
setHidden in interface IStoneCollectionPanel
Parameters:
enable - see stone collection