Class GameWindow

java.lang.Object
java.awt.Component
java.awt.Container
java.awt.Window
java.awt.Frame
javax.swing.JFrame
eu.flrkv.wwm.GUI.FrameTemplate
eu.flrkv.wwm.GUI.GameWindow
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants

public class GameWindow
extends FrameTemplate
Spielfenster
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, java.awt.Window.Type

    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
    Modifier and Type Field Description
    private javax.swing.JButton[] answerButtons
    Buttons zum Antworten als Array
    private boolean[] answerSet
    Array mit den Wahrheitswerten für die richtige und die falschen Antworten
    private javax.swing.JLabel audienceJoker
    JLabel mit dem Icon für den Publikums-Joker
    private javax.swing.JButton buttonAnswerA
    Button für die erste Antwortmöglichkeit (A)
    private javax.swing.JButton buttonAnswerB
    Button für die zweite Antwortmöglichkeit (B)
    private javax.swing.JButton buttonAnswerC
    Button für die dritte Antwortmöglichkeit (C)
    private javax.swing.JButton buttonAnswerD
    Button für die vierte Antwortmöglichkeit (D)
    private Game currentGame
    Aktuelles Spiel
    private javax.swing.JLabel currentQuestionMoneyAmount
    JLabel, welches den Geldwert für die aktuelle Frage anzeigt
    private javax.swing.JLabel fiftyFiftyJoker
    JLabel mit dem Icon für den Fünfzig-Fünfzig-Joker
    private javax.swing.JPanel gamePanel
    JPanel welches alle weiteren Elemente für dieses Fenster enthält
    private javax.swing.JLabel logo
    JLabel für das Logo
    private javax.swing.JButton mainMenuButton
    Button um zum Hauptmenü zurück zu gelangen
    private GUIController myController
    GUIController für dieses Fenster.
    private javax.swing.JLabel phoneJoker
    JLabel mit dem Icon für den Telefon-Joker
    private javax.swing.JLabel questionLabel
    JLabel zum anzeigen der aktuellen Fragestellung
    private javax.swing.JButton saveGameButton
    Button um das Spiel zwischenzuspeichern
    private javax.swing.JButton takeMoneyExitButton
    Button um bei der letzten gelösten Frage das Spiel zu verlassen

    Fields inherited from class javax.swing.JFrame

    accessibleContext, 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 java.awt.image.ImageObserver

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

    Fields inherited from interface javax.swing.WindowConstants

    DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE
  • Constructor Summary

    Constructors
    Constructor Description
    GameWindow​(GUIController pController, Game pGame)
    GameWindow Konstuktor
  • Method Summary

    Modifier and Type Method Description
    private void buildGameWindow()
    Spielfenster "bauen" Elemente für die aktuelle Frage und Punktestand setzen
    private void createUIComponents()
    IntelliJ Frame Builder method
    private java.lang.Integer getRightAnswerID()
    Array Position der richtigen Frage bekommen.
    private void initButtonListeners()
    Setzt die EventListener/ActionListener für die Buttons
    private void initJokerListeners()
    Initialisiert die EventListener für die Klick-Aktionen der Joker
    void setFrameTitle​(java.lang.String pGamerTag, java.lang.String pGameName, int pGameID)
    Setzt den Fenster-Titel bestehend aus dem Spielernamen und Spielnamen
    private void setJokerImages()
    Setzt die durchkreuzten Logos für die Joker falls diese bereits verwendet wurden
    private void setRightInAnswerSet()
    Setzt im Array für die Wahrheitswerte der Antworten die richtige Antwort auf true
    private void setWindowProperties()
    Setzt die Eigenschaften dieses Fensters
    private void useAudienceJoker()
    Publikums-Joker Gibt zu 70% die richtige Antwort als Publikumsbefragung im Dialogfenster wieder
    private void useFiftyFiftyJoker()
    Fifty-Fifty Joker Deaktiviert zwei Buttons mit falschen Antworten
    private void usePhoneJoker()
    Telefon-Joker Gibt zu 60% die richtige Antwort als Dialogfenster wieder

    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, setBackground, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecorated

    Methods inherited from class java.awt.Window

    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

    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, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, 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, 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, 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, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, 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 Details

    • gamePanel

      private javax.swing.JPanel gamePanel
      JPanel welches alle weiteren Elemente für dieses Fenster enthält
    • questionLabel

      private javax.swing.JLabel questionLabel
      JLabel zum anzeigen der aktuellen Fragestellung
    • buttonAnswerA

      private javax.swing.JButton buttonAnswerA
      Button für die erste Antwortmöglichkeit (A)
    • buttonAnswerB

      private javax.swing.JButton buttonAnswerB
      Button für die zweite Antwortmöglichkeit (B)
    • buttonAnswerC

      private javax.swing.JButton buttonAnswerC
      Button für die dritte Antwortmöglichkeit (C)
    • buttonAnswerD

      private javax.swing.JButton buttonAnswerD
      Button für die vierte Antwortmöglichkeit (D)
    • answerButtons

      private javax.swing.JButton[] answerButtons
      Buttons zum Antworten als Array
    • answerSet

      private boolean[] answerSet
      Array mit den Wahrheitswerten für die richtige und die falschen Antworten
    • fiftyFiftyJoker

      private javax.swing.JLabel fiftyFiftyJoker
      JLabel mit dem Icon für den Fünfzig-Fünfzig-Joker
    • phoneJoker

      private javax.swing.JLabel phoneJoker
      JLabel mit dem Icon für den Telefon-Joker
    • audienceJoker

      private javax.swing.JLabel audienceJoker
      JLabel mit dem Icon für den Publikums-Joker
    • takeMoneyExitButton

      private javax.swing.JButton takeMoneyExitButton
      Button um bei der letzten gelösten Frage das Spiel zu verlassen
    • saveGameButton

      private javax.swing.JButton saveGameButton
      Button um das Spiel zwischenzuspeichern
    • currentQuestionMoneyAmount

      private javax.swing.JLabel currentQuestionMoneyAmount
      JLabel, welches den Geldwert für die aktuelle Frage anzeigt
    • myController

      private final GUIController myController
      GUIController für dieses Fenster.
    • currentGame

      private final Game currentGame
      Aktuelles Spiel
  • Constructor Details

    • GameWindow

      public GameWindow​(GUIController pController, Game pGame)
      GameWindow Konstuktor
      Parameters:
      pController - GUIController für dieses Fenster
      pGame - ZU verwendendes Spiel
  • Method Details

    • setJokerImages

      private void setJokerImages()
      Setzt die durchkreuzten Logos für die Joker falls diese bereits verwendet wurden
    • setWindowProperties

      private void setWindowProperties()
      Setzt die Eigenschaften dieses Fensters
    • createUIComponents

      private void createUIComponents()
      IntelliJ Frame Builder method
    • initJokerListeners

      private void initJokerListeners()
      Initialisiert die EventListener für die Klick-Aktionen der Joker
    • initButtonListeners

      private void initButtonListeners()
      Setzt die EventListener/ActionListener für die Buttons
    • setRightInAnswerSet

      private void setRightInAnswerSet()
      Setzt im Array für die Wahrheitswerte der Antworten die richtige Antwort auf true
    • getRightAnswerID

      private java.lang.Integer getRightAnswerID()
      Array Position der richtigen Frage bekommen.
      Returns:
      Gibt die Position der Richtigen Antwort zurück
    • buildGameWindow

      private void buildGameWindow()
      Spielfenster "bauen" Elemente für die aktuelle Frage und Punktestand setzen
    • useFiftyFiftyJoker

      private void useFiftyFiftyJoker()
      Fifty-Fifty Joker Deaktiviert zwei Buttons mit falschen Antworten
    • usePhoneJoker

      private void usePhoneJoker()
      Telefon-Joker Gibt zu 60% die richtige Antwort als Dialogfenster wieder
    • useAudienceJoker

      private void useAudienceJoker()
      Publikums-Joker Gibt zu 70% die richtige Antwort als Publikumsbefragung im Dialogfenster wieder
    • setFrameTitle

      public void setFrameTitle​(java.lang.String pGamerTag, java.lang.String pGameName, int pGameID)
      Setzt den Fenster-Titel bestehend aus dem Spielernamen und Spielnamen
      Parameters:
      pGamerTag - Spielernamen
      pGameName - Spielname
      pGameID - SpielID