public class BoggleView extends JFrame implements ActionListener
JFrame.AccessibleJFrameFrame.AccessibleAWTFrameWindow.AccessibleAWTWindow, Window.TypeContainer.AccessibleAWTContainerComponent.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy| Modifier and Type | Field and Description |
|---|---|
static String |
CLEAR_COMMAND
The string representing the clear command.
|
private JTextArea |
correctWords
The text area that displays the list of correct words.
|
private List<JButton> |
diceButtons
A list that contains references to the buttons representing the dice.
|
private JTextArea |
incorrectWords
The text area that displays the list of incorrect words.
|
static String |
ROLL_COMMAND
The string representing the roll command.
|
static String |
SUBMIT_COMMAND
The string repesenting the submit command.
|
private Set<JButton> |
usedButtons
The set of dice buttons that have already been used to form the current
word.
|
private JTextField |
word
The text field that displays the current word.
|
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabledCROSSHAIR_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_CURSORBOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTDISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSEABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH| Constructor and Description |
|---|
BoggleView(BoggleController controller)
Create the Boggle user interface.
|
| Modifier and Type | Method and Description |
|---|---|
void |
actionPerformed(ActionEvent event)
Responds to events from the view.
|
private void |
clearCorrectWords()
Clears the list of correct words.
|
private void |
clearCurrentWord()
Clears the current word and prepares the view to accept a new word.
|
private void |
clearIncorrectWords()
Clears the list of incorrect words.
|
private void |
disableAllDiceButtons()
Disable all of the buttons representing the dice.
|
private void |
enableAllDiceButtons()
Enable all of the buttons representing the dice.
|
private List<JButton> |
findNeighbors(int idx)
Returns the buttons surrounding the button representing the die that was
last selected by the user.
|
String |
getWord()
Get the current string that is in the word text field.
|
static void |
main(String[] args) |
private JPanel |
makeControlPanel(BoggleController controller)
Creates the panel that contains the clear, submit, and re-roll buttons, and
the text field for the word.
|
private JPanel |
makeDicePanel()
Creates the panel that contains the buttons representing the Boggle dice.
|
private JPanel |
makeLeftPanel()
Creates the left-hand panel.
|
private JPanel |
makeMiddlePanel(BoggleController controller)
Creates the middle panel.
|
private JPanel |
makeRightPanel()
Creates the right-hand panel.
|
void |
setDice(List<BoggleDie> dice)
Sets the text on the buttons representing the dice.
|
void |
setWordIsCorrect(boolean isCorrect)
Causes the view to update after the submitted word is evaluated for
correctness.
|
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, updateaddNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setBackground, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecoratedaddPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, setVisible, show, toBack, toFrontadd, 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, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusDownCycle, validate, validateTreeaction, 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, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, 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, 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, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycleclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetFont, postEventpublic static final String CLEAR_COMMAND
public static final String ROLL_COMMAND
public static final String SUBMIT_COMMAND
private List<JButton> diceButtons
private JTextField word
private Set<JButton> usedButtons
private JTextArea correctWords
private JTextArea incorrectWords
public BoggleView(BoggleController controller)
controller - the controller that listens for submit and roll eventsprivate JPanel makeDicePanel()
JPanel that contains the buttons representing the
Boggle dice.private List<JButton> findNeighbors(int idx)
idx - the index of the button representing the die that was last
selected by the userprivate void disableAllDiceButtons()
private void enableAllDiceButtons()
public void actionPerformed(ActionEvent event)
BoggleView.CLEAR_COMMAND,
BoggleView.ROLL_COMMAND, or
BoggleView.SUBMIT_COMMAND.actionPerformed in interface ActionListenerActionListener.actionPerformed(java.awt.event.ActionEvent)event - an event emitted by the viewprivate JPanel makeLeftPanel()
JPanel with all of its necessary
componentsprivate JPanel makeRightPanel()
JPanel with all of its necessary
componentsprivate JPanel makeMiddlePanel(BoggleController controller)
JPanel with all of its necessary componentsprivate JPanel makeControlPanel(BoggleController controller)
JPanel that contains the controls below the dicepublic String getWord()
public void setDice(List<BoggleDie> dice)
dice - a list of 16 Boggle dicedice.size() == 16public void setWordIsCorrect(boolean isCorrect)
isCorrect == true then the current word is
added to the list of correct words. If isCorrect == false then
the current word is added to the list of incorrect words. In both cases,
the current word is cleared.isCorrect - true if the current word has been determined to be a
legal Boggle word, false otherwiseprivate void clearCorrectWords()
private void clearIncorrectWords()
private void clearCurrentWord()
public static void main(String[] args)