You are on page 1of 9

Class QBoard

java.lang.Object java.awt.Component java.awt.Container java.awt.Window java.awt.Frame javax.swing.JFrame QBoard

All Implemented Interfaces: java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants


public class QBoard extends javax.swing.JFrame

QBoard provides a representation of a chessboard of different sizes. A QBoard object allows for the drawing and displaying of the chessboard, placing and removal of colored queen pieces on the chessboard at a specified location. Version: 2.0 2009/09/26 Author: T. Nkgau See Also: Serialized Form

Nested Class Summary


Nested classes/interfaces inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame

Nested classes/interfaces inherited from class java.awt.Frame


java.awt.Frame.AccessibleAWTFrame

Nested classes/interfaces inherited from class java.awt.Window


java.awt.Window.AccessibleAWTWindow

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
static int BLUE static int BROWN static int GREEN static int RED static int YELLOW

Fields inherited from class javax.swing.JFrame


accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled

Fields inherited from class java.awt.Frame


CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR

Fields inherited from class java.awt.Component


BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT

Fields inherited from interface javax.swing.WindowConstants


DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE

Fields inherited from interface java.awt.image.ImageObserver


ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH

Constructor Summary
QBoard()

Constructs a QBoard of size 8 by 8 (8x8): normal chessboard size

QBoard(int boardSize)

Constructs a QBoard of size boardSize by boardSize


QBoard(int rows, int columns)

Constructs a QBoard of size rows by columns

Method Summary
boolean areAllQueensSafe()

Checks that there are no two queens attacking each other on the board.
int columnSize()

Method to return the number of columns of the board.


Queen getQueen(int row, int column)

Method to get a handle on the queen at cell at (row, column).


int getQueenColor(int row, int column)

Returns the color (as an int) of the queen at cell (row, column)
boolean isQueenThere(int row, int column)

Checks if there is a queen at cell (row, column)


boolean isValidCell(int row, int column)

Checks that (row, column) refers to a valid board cell


void moveQueen(int fromRow, int fromColumn, int toRow, int toColumn)

Moves the queen from cell at (fromRow, fromColumn) to cell at (toRow, toColumn).
void putQueen(int row, int column)

Places a red queen on the board at position (row, col)


void putQueen(int row, int column, int color)

Places a colored queen on the board at position (row, col)


void removeQueen(int row, int column)

Removes the queen from the board at position (row, col)


int rowSize()

Method to return the number of rows of the board. Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update

Methods inherited from class java.awt.Frame


addNotify, getCursorType, getExtendedState, getFrames, getIconImage,

getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated

Methods inherited from class java.awt.Window


addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setVisible, show, toBack, toFront

Methods inherited from class java.awt.Container


add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, 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, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners,

getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusUpCycle

Methods inherited from class java.lang.Object


clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Methods inherited from interface java.awt.MenuContainer


getFont, postEvent

Field Detail
RED
public static final int RED

See Also: Constant Field Values

GREEN
public static final int GREEN

See Also:

Constant Field Values

BLUE
public static final int BLUE

See Also: Constant Field Values

BROWN
public static final int BROWN

See Also: Constant Field Values

YELLOW
public static final int YELLOW

See Also: Constant Field Values

Constructor Detail
QBoard
public QBoard()

Constructs a QBoard of size 8 by 8 (8x8): normal chessboard size

QBoard
public QBoard(int rows, int columns)

Constructs a QBoard of size rows by columns Parameters: rows - number of rows in the board. should be >= 1, otherwise rows is assigned 1. columns - number of columns in the board. should be >= 1, otherwise columns is assigned 8.

QBoard
public QBoard(int boardSize)

Constructs a QBoard of size boardSize by boardSize Parameters:

boardSize

- the size of the board to create. should be >= 2 otherwise an 8 by 8 board is

created.

Method Detail
putQueen
public void putQueen(int row, int column, int color)

Places a colored queen on the board at position (row, col) Parameters: row - the row index column - the column index color - the color of the queen [0=red, 1=green, 2=blue, 3=brown, 4=yellow]; default is red.

putQueen
public void putQueen(int row, int column)

Places a red queen on the board at position (row, col) Parameters: row - the row index column - the column index

removeQueen
public void removeQueen(int row, int column)

Removes the queen from the board at position (row, col) Parameters: row - the row index column - the column index

moveQueen
public void moveQueen(int int int int fromRow, fromColumn, toRow, toColumn)

Moves the queen from cell at (fromRow, fromColumn) to cell at (toRow, toColumn). Parameters: fromRow - row index of the queen on the board

fromColumn - column index of the queen on the board toRow - row index of the cell to move the queen to toColumn - column index of the cell to move the queen

to

isValidCell
public boolean isValidCell(int row, int column)

Checks that (row, column) refers to a valid board cell Parameters: row - the row index column - the column index Returns: true if (row, column) is a valid board cell, false otherwise

areAllQueensSafe
public boolean areAllQueensSafe()

Checks that there are no two queens attacking each other on the board. Returns: true if no two queens attack each other, false otherwise

isQueenThere
public boolean isQueenThere(int row, int column)

Checks if there is a queen at cell (row, column) Parameters: row - the row index column - the column index Returns: true if there is a queen, false otherwise

getQueenColor
public int getQueenColor(int row, int column)

Returns the color (as an int) of the queen at cell (row, column) Parameters: row - the row index column - the column index Returns: an int; 0=red, 1=green, 2=blue and 3=brown

rowSize
public int rowSize()

Method to return the number of rows of the board. Returns: number of rows of the board

columnSize
public int columnSize()

Method to return the number of columns of the board. Returns: number of columns of the board

getQueen
public Queen getQueen(int row, int column)

Method to get a handle on the queen at cell at (row, column). Parameters: row - the row index column - the column index Returns: reference to queen at (row, column) or "null" if no queen is placed there.