org.game.Juzzle
Class ControlPanel

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JPanel
                          |
                          +--org.game.Juzzle.ControlPanel
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public class ControlPanel
extends javax.swing.JPanel

ControlPanel is the tool window in the main frame that contain the menu, the scaled image and the time panel

See Also:
JuzzlePanel, MainFrame, Serialized Form

Inner Class Summary
protected  class ControlPanel.TimeCounterListener
          callback function for Timer.
 
Inner classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Inner classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Inner classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Inner classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent
 
Field Summary
protected  int gameTime
          counter for time
protected  javax.swing.Timer gameTimeCounter
          timer for the game time.
protected  int hour
          help variables for time calculation.
protected  javax.swing.JLabel imagePanel
          image label
protected static int imageSize
          the maximal image side length to fit it into the image label
protected  int min
          help variables for time calculation.
protected  javax.swing.JLabel piecesLabel
          all pieces label
protected  int sec
          help variables for time calculation.
protected  java.lang.String smin
          help variables for time calculation.
protected  javax.swing.JLabel solvedLabel
          solved pieces label
protected  java.lang.String ssec
          help variables for time calculation.
protected static java.awt.Color textBackground
          background color for time and solved labels
protected static java.awt.Color textForeground
          text color for time and solved labels
protected  int time
          help variables for time calculation.
protected  javax.swing.JLabel timeLabel
          time label
 
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
ControlPanel()
          simply constructor
 
Method Summary
protected  javax.swing.JLabel createLabel(java.lang.String text, int layout)
          help function.
 java.lang.String getGameTime()
          convert the millisecond time into a string
 void printPieces(java.lang.String s)
          set the text for all pieces label
 void printSolved(java.lang.String s)
          set the text for solved pieces label
 void printTime(java.lang.String s)
          set the text for time label
 void setImage(java.awt.Image image)
          set the current game image, create a scaled version and set it into the image label
 void startCounter()
          start the counter at game begin
 void stopCounter()
          start the counter at game end
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUIClassID, paramString, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getVerifyInputWhenFocusTarget, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, hide, isDoubleBuffered, isFocusCycleRoot, isFocusTraversable, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processFocusEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getLayout, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setLayout, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, imageUpdate, inside, isDisplayable, isEnabled, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

textBackground

protected static final java.awt.Color textBackground
background color for time and solved labels

textForeground

protected static final java.awt.Color textForeground
text color for time and solved labels

imageSize

protected static final int imageSize
the maximal image side length to fit it into the image label

imagePanel

protected javax.swing.JLabel imagePanel
image label

piecesLabel

protected javax.swing.JLabel piecesLabel
all pieces label

solvedLabel

protected javax.swing.JLabel solvedLabel
solved pieces label

timeLabel

protected javax.swing.JLabel timeLabel
time label

gameTime

protected int gameTime
counter for time

gameTimeCounter

protected javax.swing.Timer gameTimeCounter
timer for the game time. It is a thread.

sec

protected int sec
help variables for time calculation.

min

protected int min
help variables for time calculation.

hour

protected int hour
help variables for time calculation.

time

protected int time
help variables for time calculation.

ssec

protected java.lang.String ssec
help variables for time calculation.

smin

protected java.lang.String smin
help variables for time calculation.
Constructor Detail

ControlPanel

public ControlPanel()
simply constructor
Method Detail

setImage

public void setImage(java.awt.Image image)
set the current game image, create a scaled version and set it into the image label
Parameters:
image - current game image

createLabel

protected javax.swing.JLabel createLabel(java.lang.String text,
                                         int layout)
help function. Creates label and set all properties
Parameters:
text - label text
layout - JLabel.LEFT or JLabel.RIGHT

startCounter

public void startCounter()
start the counter at game begin

stopCounter

public void stopCounter()
start the counter at game end

getGameTime

public java.lang.String getGameTime()
convert the millisecond time into a string
Returns:
the game time as string

printPieces

public void printPieces(java.lang.String s)
set the text for all pieces label
Parameters:
s - text for label

printSolved

public void printSolved(java.lang.String s)
set the text for solved pieces label
Parameters:
s - text for label

printTime

public void printTime(java.lang.String s)
set the text for time label
Parameters:
s - text for label