jrummikub.view.impl
Class HandPanel

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.HandPanel
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, IClickable, IHandPanel, IStonePanel

 class HandPanel
extends AbstractStonePanel
implements IHandPanel

Implementation of the board


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 java.awt.image.BufferedImage BACKGROUND
           
private  int currentRow
           
private static java.awt.image.BufferedImage DARK_BACKGROUND
           
private static int HEIGHT
           
private  int maxRow
           
private  PlayerPanel playerPanel
           
private  boolean repaintAll
           
private  java.awt.image.BufferedImage scaledBackground
           
private  java.awt.image.BufferedImage scaledDarkBackground
           
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, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
HandPanel(PlayerPanel playerPanel)
          Creates a new Board instance
 
Method Summary
(package private)  boolean canRowDown()
          Is there a lower row than the current row
(package private)  boolean canRowUp()
          Is there a higher row than the current row
private  java.awt.image.BufferedImage getScaledBackground(int size, java.awt.image.BufferedImage background)
           
 Pair<java.lang.Integer,java.lang.Integer> getTranslation()
          Returns the translation in pixels the stones in this panel are painted with
protected  void paintComponent(java.awt.Graphics g1)
           
(package private)  int rescale(int height)
          Rescales the hand panel according to window size
 void resetCurrentRow()
          Resets the rows currently displayed
(package private)  void rowDown()
          Updates panel after visible row changed
(package private)  void rowUp()
          Updates panel after visible row changed
(package private)  void setSelectedStones(java.util.Collection<Stone> stones)
          Sets the stones that are to be painted selected
 void setStones(java.lang.Iterable<Pair<Stone,Position>> stones)
          Sets the list of stones that can be clicked on
 
Methods inherited from class jrummikub.view.impl.AbstractStonePanel
clickAt, getClickEvent, getHoveredStone, getRangeClickEvent, getSetClickEvent, getStoneClickEvent, getStonePainter, getStones, handleOtherClickEvent, handleOtherMoveEvent
 
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
 
Methods inherited from interface jrummikub.view.IClickable
getClickEvent
 

Field Detail

HEIGHT

private static final int HEIGHT
See Also:
Constant Field Values

BACKGROUND

private static final java.awt.image.BufferedImage BACKGROUND

DARK_BACKGROUND

private static final java.awt.image.BufferedImage DARK_BACKGROUND

scaledBackground

private java.awt.image.BufferedImage scaledBackground

scaledDarkBackground

private java.awt.image.BufferedImage scaledDarkBackground

playerPanel

private PlayerPanel playerPanel

currentRow

private int currentRow

maxRow

private int maxRow

repaintAll

private boolean repaintAll

selectedStones

private java.util.Collection<Stone> selectedStones
Constructor Detail

HandPanel

HandPanel(PlayerPanel playerPanel)
Creates a new Board instance

Method Detail

getScaledBackground

private java.awt.image.BufferedImage getScaledBackground(int size,
                                                         java.awt.image.BufferedImage background)

paintComponent

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

setStones

public void setStones(java.lang.Iterable<Pair<Stone,Position>> stones)
Description copied from class: AbstractStonePanel
Sets the list of stones that can be clicked on

Specified by:
setStones in interface IHandPanel
Overrides:
setStones in class AbstractStonePanel
Parameters:
stones - the stones and positions

rowUp

void rowUp()
Updates panel after visible row changed


rowDown

void rowDown()
Updates panel after visible row changed


resetCurrentRow

public void resetCurrentRow()
Description copied from interface: IHandPanel
Resets the rows currently displayed

Specified by:
resetCurrentRow in interface IHandPanel

canRowUp

boolean canRowUp()
Is there a higher row than the current row

Returns:
higher row present

canRowDown

boolean canRowDown()
Is there a lower row than the current row

Returns:
higher row present

getTranslation

public 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

setSelectedStones

void setSelectedStones(java.util.Collection<Stone> stones)
Sets the stones that are to be painted selected

Parameters:
stones - the selected stones

rescale

int rescale(int height)
Rescales the hand panel according to window size

Parameters:
height - of hand panel
Returns:
width of hand panel