public class GameUI extends javax.swing.JFrame implements GameControllerAdapter
javax.swing.JFrame.AccessibleJFrame
java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
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
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Constructor and Description |
---|
GameUI(int width,
int height,
int numberOfCheese,
int duration)
Creates an instance of the GameUI.
|
Modifier and Type | Method and Description |
---|---|
void |
clearMouse()
This method will be invoked at the end of the game.
|
void |
detonateBomb(Bomb bomb)
This method will be invoked when a mouse crosses a bomb.
|
void |
displayCountDown(int seconds)
This method is to be invoked when showing the number of seconds left to the game end.
|
void |
newBomb(Bomb bomb)
This method will be invoked when a mouse planted a new bomb.
|
void |
newCheese(Cheese newCheese)
This method will be invoked each time the cheese changes location.
|
void |
newMouse(MouseController mouse)
This method will be invoked during game load to introduce new mouse
into the user interface.
|
void |
removeBomb(Bomb bomb)
This method will be invoked when the bomb represent is to be removed.
|
void |
repositionMouse(MouseController mouse,
Grid grid)
This method will be invoked when the mouse represent has to be repositioned.
|
void |
start()
This method will be invoked and adapter has to prepare all necessary preloading and
starts the game.
|
void |
stop()
This method will be invoked and adapter has to cause all represents to halt.
|
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
addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setBackground, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecorated
addPropertyChangeListener, 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, toFront
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, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusDownCycle, validate, validateTree
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, 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, transferFocusUpCycle
public GameUI(int width, int height, int numberOfCheese, int duration) throws java.io.IOException
width
- The width of the user interface.height
- The height of the user interface.numberOfCheese
- The number of cheese this game is playing for.java.io.IOException
- An IOException can occur when the required game assets are missing.public void newMouse(MouseController mouse) throws java.io.IOException
GameControllerAdapter
newMouse
in interface GameControllerAdapter
mouse
- The new mouse controller that was being loaded.java.io.IOException
- As a new mouse is introduced, the adapter has to create a new represent,
loading the appropriate assets. If the assets required are missing, this method should throw an
IOException.public void newCheese(Cheese newCheese)
GameControllerAdapter
newCheese
in interface GameControllerAdapter
newCheese
- The cheese instance.public void newBomb(Bomb bomb) throws java.io.IOException
GameControllerAdapter
newBomb
in interface GameControllerAdapter
bomb
- The bomb instance.java.io.IOException
- When the method creates a represent for the new bomb, the
IOException would be thrown if the required assets are missing.public void detonateBomb(Bomb bomb) throws java.io.IOException
GameControllerAdapter
detonateBomb
in interface GameControllerAdapter
bomb
- The bomb instance.java.io.IOException
- When the method changes the image of the represent, the
IOException would be thrown if the required assets are missing.public void removeBomb(Bomb bomb)
GameControllerAdapter
removeBomb
in interface GameControllerAdapter
bomb
- The bomb instance.public void repositionMouse(MouseController mouse, Grid grid)
GameControllerAdapter
repositionMouse
in interface GameControllerAdapter
mouse
- The mouse to be moved.grid
- The grid that the mouse is to be moved to.public void clearMouse()
GameControllerAdapter
clearMouse
in interface GameControllerAdapter
public void start()
GameControllerAdapter
start
in interface GameControllerAdapter
public void stop()
GameControllerAdapter
stop
in interface GameControllerAdapter
public void displayCountDown(int seconds)
GameControllerAdapter
displayCountDown
in interface GameControllerAdapter