/* * Engine Alpha ist eine anfängerorientierte 2D-Gaming Engine. * * Copyright (c) 2011 - 2014 Michael Andonie and contributors. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package ea.edu; import ea.Game; /** * Das Standard-Spielfenster für den Unterricht. Bei diesem "<code>Game</code>-Objekt" wie auch beim * gesamten Paket <code>ea.edu</code> handelt es sich um eine <b>drastische Reduktion</b> der * ohnehin äußerst geringen Anforderungen.<br /> Entwickelt als <i>Singleton</i>, da dies das * Generalfenster aller "edu"-Grafiken ist. * * @author Andonie */ public class FensterE extends Game { /** * Referenz auf das Fenster. Nicht anfechtbar; ebenfalls nach <i>Singleton</i>. */ private static FensterE fenster; /** * Konstruktor. Private, da dies als <i>Singleton</i> gehandhabt wird. */ private FensterE () { this(808, 629, "Darstellung"); } /** * Konstruktor Typ 2: Freie Wahl der Fenstereigenschaften. * * @param breite * Die gewünschte Breite. * @param hoehe * Die gewünschte Höhe. * @param titel * Der gewünschte Titel. */ private FensterE (int breite, int hoehe, String titel) { super(breite, hoehe, titel); } /** * Gibt das "edu"-Fenster aus. Dies funktioniert nach dem <i>Singleton</i>-Prinzip:<br /><br /> * - <b>Alle Objekte</b> aus dem <code>edu</code>-Paket sind in DIESEM Fenster angezeigt.<br /> * - Es gibt nur <b>ein einziges</b> Fenster in jedem laufenden Programm. Dieses Fenster wird * beim ersten Aufruf dieser Methode erstellt. * * @return Das Fenster, in dem alle "edu"-Grafiken wiedergegeben werden. */ public static final FensterE getFenster () { return getFenster(808, 629); } /** * Gibt das "edu"-Fenster aus. Dies funktioniert nach dem <i>Singleton</i>-Prinzip:<br /><br /> * - <b>Alle Objekte</b> aus dem <code>edu</code>-Paket sind in DIESEM Fenster angezeigt.<br /> * - Es gibt nur <b>ein einziges</b> Fenster in jedem laufenden Programm. Dieses Fenster wird * beim ersten Aufruf dieser Methode erstellt. * * @param breite * Die Wunschbreite, falls noch kein Fenster erstellt wurde. * @param hoehe * Die Wunschhöhe, falls noch kein Fenster erstellt wurde. * * @return Das Fenster, in dem alle "edu"-Grafiken wiedergegeben werden. */ public static final FensterE getFenster (int breite, int hoehe) { if (fenster == null) { return fenster = new FensterE(breite, hoehe, "Darstellung"); } return fenster; } /** * Diese Methode sorgt fuer das Reagieren auf Tastendruck. Dies jedoch ist bei den "edu"-Klassen * bisher noch nicht noetig. * * @param code * Der Code, der die gedrueckte Taste repraesentiert. */ public void tasteReagieren (int code) { // } }