jrummikub.view.impl
Class TablePanel

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

 class TablePanel
extends AbstractStonePanel
implements ITablePanel

The implementation of the table


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
 
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
TablePanel()
          Creates a new Table instance
 
Method Summary
 Event1<StoneSet> getLeftConnectorClickEvent()
          the left connector click event is emitted when the player clicks on a left connector of a stone set on the table .
 Event1<StoneSet> getRightConnectorClickEvent()
          the right connector click event is emitted when the player clicks on a right connector of a stone set on the table .
 IStoneCollectionPanel getStoneCollectionPanel()
          Returns the stone collection (the panel showing the stones currently selected)
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
protected  void handleOtherMoveEvent(Position pos)
          Overwrite this method to signal if special zone was hovered
protected  void paintComponent(java.awt.Graphics g1)
           
 void setLeftPlayerName(java.lang.String playerName)
          Sets the player name on the left label
 void setRightPlayerName(java.lang.String playerName)
          Sets the player name on the right label
(package private)  void setSelectedStones(java.util.Collection<Stone> stones)
          Sets the currently selected stones
 void setStoneSets(java.lang.Iterable<Pair<StoneSet,Position>> stoneSets)
          Sets the stone sets lying on the table
 void setTopPlayerName(java.lang.String playerName)
          Sets the player name on the top label
 
Methods inherited from class jrummikub.view.impl.AbstractStonePanel
clickAt, getClickEvent, getHoveredStone, getRangeClickEvent, getSetClickEvent, getStoneClickEvent, getStonePainter, getStones, 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
 
Methods inherited from interface jrummikub.view.IClickable
getClickEvent
 

Constructor Detail

TablePanel

TablePanel()
Creates a new Table instance

Method Detail

setLeftPlayerName

public void setLeftPlayerName(java.lang.String playerName)
Description copied from interface: ITablePanel
Sets the player name on the left label

Specified by:
setLeftPlayerName in interface ITablePanel
Parameters:
playerName - the name to set

setTopPlayerName

public void setTopPlayerName(java.lang.String playerName)
Description copied from interface: ITablePanel
Sets the player name on the top label

Specified by:
setTopPlayerName in interface ITablePanel
Parameters:
playerName - the name to set

setRightPlayerName

public void setRightPlayerName(java.lang.String playerName)
Description copied from interface: ITablePanel
Sets the player name on the right label

Specified by:
setRightPlayerName in interface ITablePanel
Parameters:
playerName - the name to set

getLeftConnectorClickEvent

public Event1<StoneSet> getLeftConnectorClickEvent()
Description copied from interface: ITablePanel
the left connector click event is emitted when the player clicks on a left connector of a stone set on the table .

Specified by:
getLeftConnectorClickEvent in interface ITablePanel
Returns:
the event

getRightConnectorClickEvent

public Event1<StoneSet> getRightConnectorClickEvent()
Description copied from interface: ITablePanel
the right connector click event is emitted when the player clicks on a right connector of a stone set on the table .

Specified by:
getRightConnectorClickEvent in interface ITablePanel
Returns:
the event

setStoneSets

public void setStoneSets(java.lang.Iterable<Pair<StoneSet,Position>> stoneSets)
Description copied from interface: ITablePanel
Sets the stone sets lying on the table

Specified by:
setStoneSets in interface ITablePanel
Parameters:
stoneSets - set stone sets on the table

getStoneCollectionPanel

public IStoneCollectionPanel getStoneCollectionPanel()
Description copied from interface: ITablePanel
Returns the stone collection (the panel showing the stones currently selected)

Specified by:
getStoneCollectionPanel in interface ITablePanel
Returns:
the stone collection

setSelectedStones

void setSelectedStones(java.util.Collection<Stone> stones)
Sets the currently selected stones

Parameters:
stones - the selected stones

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

handleOtherMoveEvent

protected void handleOtherMoveEvent(Position pos)
Description copied from class: AbstractStonePanel
Overwrite this method to signal if special zone was hovered

Overrides:
handleOtherMoveEvent in class AbstractStonePanel
Parameters:
pos - the hovered position

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

paintComponent

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