From 33613a85afc4b1481367fbe92a17ee59c240250b Mon Sep 17 00:00:00 2001 From: Sven Eisenhauer Date: Fri, 10 Nov 2023 15:11:48 +0100 Subject: add new repo --- .../hjp5/html/k100175.html | 236 +++++++++++++++++++++ 1 file changed, 236 insertions(+) create mode 100644 Master/Reference Architectures and Patterns/hjp5/html/k100175.html (limited to 'Master/Reference Architectures and Patterns/hjp5/html/k100175.html') diff --git a/Master/Reference Architectures and Patterns/hjp5/html/k100175.html b/Master/Reference Architectures and Patterns/hjp5/html/k100175.html new file mode 100644 index 0000000..9307364 --- /dev/null +++ b/Master/Reference Architectures and Patterns/hjp5/html/k100175.html @@ -0,0 +1,236 @@ + + + +Handbuch der Java-Programmierung, 5. Auflage + + + + + + + + + +
 Titel  + Inhalt  + Suchen  + Index  + DOC  +Handbuch der Java-Programmierung, 5. Auflage +
 <<  +  <   +  >   + >>  + API  +Kapitel 27 - Fenster +
+
+ + + + +

27.2 Aufrufen und Schließen eines Fensters

+
+ +
+ +

+Um ein Fenster auf dem Bildschirm anzuzeigen, muss zunächst die +passende Fensterklasse instanziert werden. Dafür kommen die Klassen +Window, +Frame, +Dialog, +Applet +und FileDialog +in Frage. Da die beiden Dialogklassen und die Entwicklung von Applets +später behandelt werden, verbleiben die Klassen Window +und Frame. +Beide Klassen haben unterschiedliche Konstruktoren: +

+ + + + + +
+ +
+public Frame()
+
+public Frame(String title)
+
+
+
+java.awt.Frame
+

+ + + + + +
+ +
+public Window(Frame parent)
+
+
+
+java.awt.Window
+ +

+Ein Objekt der Klasse Frame +kann demnach parameterlos oder mit einem String, +der den Titel des Fensters angibt, erzeugt werden. Bei der Instanzierung +eines Window-Objekts +muss dagegen das Vaterfenster übergeben werden. + +

+Nach der Instanzierung wird die Methode setVisible +aufgerufen, um das Fenster anzuzeigen: +

+ + + + + +
+ +
+public void setVisible(boolean visible)
+
+
+
+java.awt.Component
+ +

+Der Parameter visible gibt an, +ob das Fenster angezeigt oder geschlossen werden soll. Wird true +übergeben, so wird es angezeigt, andernfalls geschlossen. Die +Aufrufsyntax ist für Frame +und Window +identisch, denn setVisible +wurde aus der gemeinsamen Oberklasse Component +geerbt. Ein Aufruf von setVisible(true) +legt die Fensterressource an, stattet das Fenster mit einer Reihe +von Standardeigenschaften aus und zeigt es auf dem Bildschirm an. + +

+Um ein Fenster zu schließen, sind die Methoden setVisible(false) +und dispose +aufzurufen: +

+ + + + + +
+ +
+public void dispose()
+
+
+
+java.awt.Window
+ +

+setVisible(false) macht das +Fenster unsichtbar, und dispose +gibt die zugeordneten Windows-Ressourcen frei und entfernt das Fenster +aus der Owner-Child-Registrierung. +

+ + + + + + + + + +
+ +

+In der aktuellen Implementierung enthält dispose +am Anfang einen Aufruf von hide, +durch das seinerseits ein implizites setVisible(false) +aufgerufen wird. Daher wäre es auch möglich, ein Fenster +mit einem einzigen Aufruf von dispose +zu schließen. Der zusätzliche Aufruf von setVisible(false) +ist allerdings nicht schädlich und macht die Aufgabentrennung +beider Methoden deutlich.

+ + + + +
 Hinweis 
+
+ +

+Das folgende Beispiel zeigt ein Programm, das einen Frame +auf dem Bildschirm anzeigt, ihn nach ca. 3 Sekunden wieder entfernt +und das Programm dann beendet: + + +

+ + + + + +
+ +
+001 /* Listing2701.java */
+002 
+003 import java.awt.*;
+004 
+005 public class Listing2701
+006 {
+007   public static void main(String[] args)
+008   {
+009     Frame frame = new Frame("Frame entfernen");
+010     frame.setSize(300,200);
+011     frame.setVisible(true);
+012     try {
+013        Thread.sleep(3000);
+014     } catch (InterruptedException e) {
+015        //nichts
+016     }
+017     frame.setVisible(false);
+018     frame.dispose();
+019     System.exit(0);
+020   }
+021 }
+
+
+Listing2701.java
+ +Listing 27.1: Anzeigen und Entfernen eines Frames

+
+ + + +
 Titel  + Inhalt  + Suchen  + Index  + DOC  +Handbuch der Java-Programmierung, 5. Auflage, Addison +Wesley, Version 5.0.1 +
 <<  +  <   +  >   + >>  + API  +© 1998, 2007 Guido Krüger & Thomas +Stark, http://www.javabuch.de +
+ + + -- cgit v1.2.3