dionarap
Class Hauptfenster

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Frame
                  extended by javax.swing.JFrame
                      extended by dionarap.Hauptfenster
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants

public class Hauptfenster
extends javax.swing.JFrame

Diese Klasse stellt das Hauptfenster von DionaRap zur Verfuegung und enthaelt die main()-Methode. Diese ist abgeleitet von der Klasse JFrame. Sie beinhaltet als sichtbare Komponenten die Menueleiste, das Spielfeld und das Navigtor- und das Hilfe-Fenster. Die Spielelogik wird ebenso in dieser Klasse eingebunden.

Version:
1.4
Author:
Thomas Merkel, Rainer Hihn
See Also:
JFrame, DionaRapController, DionaRapModel, MenuBar, Navigator, Spielfeld, Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.BaselineResizeBehavior
 
Field Summary
static java.lang.String levelDefaultName
          Bezeichnung fuer den Standard-Level
static java.lang.String levelPrefix
          Prefix Level-Dateinamen und Level-Auswahl-ActionCommands
 
Fields inherited from class javax.swing.JFrame
EXIT_ON_CLOSE
 
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
Hauptfenster(java.awt.Point position, java.lang.String level)
          Konstruktor der Klasse Hauptfenster.
 
Method Summary
 java.lang.String getCurrentLevel()
          Liefert den Namen des aktuell ausgewaehlten Levels zurueck
 java.lang.String[] getLevels()
          Liefert die Liste der zur Verfuegung stehenden Levels zurueck.
static void main(java.lang.String[] args)
          Programmeintrittspunkt von Diona Rap.
 void setArtwork(java.lang.String theme)
          Stellt das neue Theme ein und veranlasst das Hauptfenster, das Spielfeld neu zu zeichnen
 void setLookAndFeel(java.lang.String lookAndFeel)
          Legt ein Look-And-Feel fest und aktualisiert dabei das Hauptfenster, den navigator und den helpDialog.
 void showDescriptionWindow()
          Zeigt das Spielfiguren-Fenster an
 void showHelpWindow()
          Zeigt das Hilfefenster an.
 void showLevelEditor()
          Zeigt das LevelEditor-Fenster an
 void startNewGame(java.lang.String level)
          Startet ein neues Spiel mit dem angegeben Level.
 void toggleNavigator()
          Wechselt die Sichtbarkeit des Steuerungsfensters.
 void updateGame(GameStatus status)
          Diese Methode wird aufgerufen, um das Spiel zu aktualisieren, z.B. um das Spielfeld neu zu zeichnen.
 
Methods inherited from class javax.swing.JFrame
getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, 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, paint, postEvent, 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, paintComponents, preferredSize, print, printComponents, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusBackward, transferFocusDownCycle, validate
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, dispatchEvent, enable, enable, enableInputMethods, 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, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, 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
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

levelDefaultName

public static final java.lang.String levelDefaultName
Bezeichnung fuer den Standard-Level

See Also:
Constant Field Values

levelPrefix

public static final java.lang.String levelPrefix
Prefix Level-Dateinamen und Level-Auswahl-ActionCommands

See Also:
Constant Field Values
Constructor Detail

Hauptfenster

public Hauptfenster(java.awt.Point position,
                    java.lang.String level)
Konstruktor der Klasse Hauptfenster. Erstellt alle benoetigten Komponenten wie Menue, Spielfeld und Steuerungsfenster, und initialisiert die Spiel-Logik.

Parameters:
position - Postition des Hauptfensters, Angabe in Pixel
level - Name des Levels
Method Detail

main

public static void main(java.lang.String[] args)
Programmeintrittspunkt von Diona Rap. Erstellt das Hauptfenster mit Standardeinstellungen.

Parameters:
args - Kommandozeilenparameter
See Also:
Hauptfenster

updateGame

public void updateGame(GameStatus status)
Diese Methode wird aufgerufen, um das Spiel zu aktualisieren, z.B. um das Spielfeld neu zu zeichnen. Dabei werden alle Icons neu gezeichnet, der Punktestand aktualisiert, und der "Neues Spiel"-Button gegebenenfalls aktiviert

Parameters:
status - Information ueber die Aenderungen
See Also:
Spielfeld, Navigator, GameStatus

showLevelEditor

public void showLevelEditor()
Zeigt das LevelEditor-Fenster an

See Also:
levelEditorDialog, createLevelEditorWindow()

showDescriptionWindow

public void showDescriptionWindow()
Zeigt das Spielfiguren-Fenster an

See Also:
iconDialog, createDescriptionWindow()

setArtwork

public void setArtwork(java.lang.String theme)
Stellt das neue Theme ein und veranlasst das Hauptfenster, das Spielfeld neu zu zeichnen

Parameters:
theme - Name des angeklickten Theme
See Also:
Artwork

setLookAndFeel

public void setLookAndFeel(java.lang.String lookAndFeel)
Legt ein Look-And-Feel fest und aktualisiert dabei das Hauptfenster, den navigator und den helpDialog.

Parameters:
lookAndFeel - Klassenname des Designs
See Also:
UIManager.setLookAndFeel(String), SwingUtilities.updateComponentTreeUI(java.awt.Component)

getCurrentLevel

public java.lang.String getCurrentLevel()
Liefert den Namen des aktuell ausgewaehlten Levels zurueck

Returns:
Level-Name als String

startNewGame

public void startNewGame(java.lang.String level)
Startet ein neues Spiel mit dem angegeben Level. Dabei werden die aktuellen Fenster und die Spiellogik zerstoert und ein neues Hauptfenster an alter Stelle neu erstellt.

Parameters:
level - Level-Name, mit dem das neue Spiel begonnen werden soll

showHelpWindow

public void showHelpWindow()
Zeigt das Hilfefenster an.

See Also:
helpDialog, createDescriptionWindow()

getLevels

public java.lang.String[] getLevels()
Liefert die Liste der zur Verfuegung stehenden Levels zurueck. Erstellt dabei eine Kopie der Liste um die interne Liste vor Aenderungen zu schuetzen.

Returns:
String-Array mit Level-Namen

toggleNavigator

public void toggleNavigator()
Wechselt die Sichtbarkeit des Steuerungsfensters. War es sichtbar, wird es versteckt, war es beim Aufruf unsichtbar, wird es angezeigt.

See Also:
navigator