uk.co.keang.sudoku
Class SudokuGrid

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 uk.co.keang.sudoku.SudokuGrid
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible

 class SudokuGrid
extends javax.swing.JPanel

The sudoku panel consisting of n sub-panels of n x n SudokuButtons

Author:
A.G.Docherty

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
SudokuGrid(SudokuSolver puzzle)
           
 
Method Summary
 void addGridChangeListener(GridChangeListener l)
          Adds a listener.
 void clear()
           
protected  void fireGridChange(java.awt.Point loc, Puzzle.Cell origVal, Puzzle.Cell newVal)
          fires the Grid change event to all listeners
protected  void fireGridReplaced(Puzzle p)
          fires the Grid change event to all listeners
(package private)  Puzzle.Cell[][] getDisplayedValues()
           
 void removeAllGridChangeListeners()
          Removes the listener
 void removeGridChangeListener(GridChangeListener l)
          Removes the listener
(package private)  void setDisplayedValues(Puzzle puz)
          Sets the changed puzzle values to display
(package private)  void setEmptyPuzzle(Puzzle puz)
          Sets an empty puzzle
(package private)  void setInitialGrid(boolean initial)
          Sets whether the grid is displaying the initial puzzle or not.
 void setPossibleValues(int x, int y, Puzzle.Cell values)
           
(package private)  void setPuzzle(Puzzle puz)
          Sets a new puzzle
 void setReferenced(java.util.List<java.awt.Point> locs, Puzzle.Cell removed)
           
 void setResolvedValues(java.util.List<java.awt.Point> locs, Puzzle.Cell[][] sets)
           
 void setSelectedCells(java.util.List<java.awt.Point> locs, Puzzle.Cell removed)
           
(package private)  void showPossibleNumbers(boolean show)
          Sets the show possible numbers state
 
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, paintComponent, 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, transferFocusBackward, 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, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SudokuGrid

public SudokuGrid(SudokuSolver puzzle)
Method Detail

getDisplayedValues

Puzzle.Cell[][] getDisplayedValues()

setPuzzle

void setPuzzle(Puzzle puz)
         throws IllegalGridException
Sets a new puzzle

Parameters:
puz -
Throws:
IllegalGridException

setEmptyPuzzle

void setEmptyPuzzle(Puzzle puz)
              throws IllegalGridException
Sets an empty puzzle

Parameters:
puz -
Throws:
IllegalGridException

setDisplayedValues

void setDisplayedValues(Puzzle puz)
Sets the changed puzzle values to display

Parameters:
puz -

setPossibleValues

public void setPossibleValues(int x,
                              int y,
                              Puzzle.Cell values)

clear

public void clear()

setResolvedValues

public void setResolvedValues(java.util.List<java.awt.Point> locs,
                              Puzzle.Cell[][] sets)

setSelectedCells

public void setSelectedCells(java.util.List<java.awt.Point> locs,
                             Puzzle.Cell removed)

setReferenced

public void setReferenced(java.util.List<java.awt.Point> locs,
                          Puzzle.Cell removed)

showPossibleNumbers

void showPossibleNumbers(boolean show)
Sets the show possible numbers state

Parameters:
show - true to show all possible numbers, false to just show those entered by the user

setInitialGrid

void setInitialGrid(boolean initial)
Sets whether the grid is displaying the initial puzzle or not. This is determined solely by the index of the selected solution event ie if it is 0 then this is true else it is false.

Parameters:
initial - true if this is showing the initial puzzle

addGridChangeListener

public void addGridChangeListener(GridChangeListener l)
Adds a listener.

Parameters:
l - - the listener to add

removeGridChangeListener

public void removeGridChangeListener(GridChangeListener l)
Removes the listener

Parameters:
l - - the listener to remove

removeAllGridChangeListeners

public void removeAllGridChangeListeners()
Removes the listener

Parameters:
l - - the listener to remove

fireGridChange

protected void fireGridChange(java.awt.Point loc,
                              Puzzle.Cell origVal,
                              Puzzle.Cell newVal)
                       throws IllegalGridException
fires the Grid change event to all listeners

Parameters:
nums -
cell -
point -
Throws:
IllegalGridException

fireGridReplaced

protected void fireGridReplaced(Puzzle p)
                         throws IllegalGridException
fires the Grid change event to all listeners

Parameters:
nums -
cell -
point -
Throws:
IllegalGridException