Date: Fri, 10 Nov 2023 15:11:48 +0100
Subject: add new repo
---
.../hjp5/html/k100185.html | 253 +++++++++++++++++++++
1 file changed, 253 insertions(+)
create mode 100644 Master/Reference Architectures and Patterns/hjp5/html/k100185.html
(limited to 'Master/Reference Architectures and Patterns/hjp5/html/k100185.html')
diff --git a/Master/Reference Architectures and Patterns/hjp5/html/k100185.html b/Master/Reference Architectures and Patterns/hjp5/html/k100185.html
new file mode 100644
index 0000000..ea37ec0
--- /dev/null
+++ b/Master/Reference Architectures and Patterns/hjp5/html/k100185.html
@@ -0,0 +1,253 @@
+
+
+
+Handbuch der Java-Programmierung, 5. Auflage
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Ein Window-Event wird immer dann generiert, wenn sich am Status eines
+Fensters eine Änderung ergeben hat, die für das Anwendungsprogramm
+von Interesse sein könnte. So erlangt das Programm beispielsweise
+Kenntnis davon, wenn ein Fenster erstellt oder zerstört, aktiviert
+oder deaktiviert oder wenn es symbolisiert oder wiederhergestellt
+wird.
+
+
+Ein Empfänger für Window-Events muss das Interface WindowListener
+implementieren und bekommt Events des Typs WindowEvent
+übergeben. WindowEvent
+erweitert die Klasse ComponentEvent
+und stellt neben getID
+und getSource
+die Methode getWindow
+zur Verfügung, mit der das Fenster ermittelt werden kann, das
+die Nachricht ausgelöst hat.
+
+
+
+
+Die Registrierung der Empfängerklasse erfolgt mit der Methode
+addWindowListener,
+die in den Klassen Dialog
+und Frame
+zur Verfügung steht:
+
+
+
+
+
+
+public void addWindowListener(WindowListener l)
+
+
+ |
+
+java.awt.Frame |
+
+
+
+
+Tabelle 29.1 gibt
+eine Übersicht der Methoden von WindowListener
+und erklärt ihre Bedeutung:
+
+
+
+
+
+| Ereignismethode |
+Bedeutung |
+
+| windowActivated |
+Das Fenster wurde aktiviert. Diese Methode
+wird nach dem Erstellen des Fensters aufgerufen und wenn ein Fenster,
+das im Hintergrund stand, erneut in den Vordergrund gelangt. |
+
+| windowClosed |
+Das Fenster wurde geschlossen. |
+
+| windowClosing |
+Das Fenster soll geschlossen werden. Diese
+Methode wird aufgerufen, wenn der Anwender das Fenster über die
+Titelleiste, das Systemmenü oder die Tastenkombination [ALT]+[F4]
+schließen will. Es liegt in der Verantwortung der Anwendung,
+in diesem Fall Code zur Verfügung zu stellen, der das Fenster
+tatsächlich schließt. Standardmäßig reagiert
+das Programm nicht auf diese Benutzeraktionen. |
+
+| windowDeactivated |
+Das Fenster wurde deaktiviert, also in den
+Hintergrund gestellt. |
+
+| windowDeiconified |
+Das Fenster wurde wiederhergestellt, nachdem
+es zuvor auf Symbolgröße verkleinert worden war. |
+
+| windowIconified |
+Das Fenster wurde auf Symbolgröße
+verkleinert. |
+
+| windowOpened |
+Das Fenster wurde geöffnet. |
+
+
+Tabelle 29.1: Methoden von WindowListener
+
+
+Das folgende Programm demonstriert die Anwendung der Methode windowClosing,
+deren Verwendung bereits in Abschnitt 23.2.4
+gezeigt wurde. Dazu leitet es aus Frame
+eine neue Klasse CloseableFrame
+ab und registriert im Konstruktor einen anonymen WindowAdapter,
+der windowClosing
+überlagert und das Fenster durch Aufrufe von setVisible(false)
+und dispose() schließt.
+Alle Ableitungen von CloseableFrame
+besitzen nun die Fähigkeit, vom Anwender per Systemmenü,
+per Schließen-Button oder (unter Windows) durch Drücken
+von [ALT]+[F4]
+beendet zu werden.
+
+
+Die Klasse Listing2901 demonstriert
+die Anwendung der neuen Klasse und erzeugt ein Fenster wnd
+aus CloseableFrame. Um das Programm
+nach dem Schließen des Fensters zu beenden, registriert es bei
+der Fensterklasse zusätzlich einen anonymen WindowAdapter,
+der bei Aufruf von windowClosed
+(also nach dem Schließen des Fensters) das Programm per Aufruf
+von System.exit
+beendet:
+
+
+
+
+
+
+
+
+001 /* Listing2901.java */
+002
+003 import java.awt.*;
+004 import java.awt.event.*;
+005
+006 class CloseableFrame
+007 extends Frame
+008 {
+009 public CloseableFrame()
+010 {
+011 this("");
+012 }
+013
+014 public CloseableFrame(String title)
+015 {
+016 super(title);
+017 addWindowListener(
+018 new WindowAdapter() {
+019 public void windowClosing(WindowEvent event)
+020 {
+021 setVisible(false);
+022 dispose();
+023 }
+024 }
+025 );
+026 }
+027 }
+028
+029 public class Listing2901
+030 {
+031 public static void main(String[] args)
+032 {
+033 CloseableFrame wnd = new CloseableFrame("CloseableFrame");
+034 wnd.setBackground(Color.lightGray);
+035 wnd.setSize(300,200);
+036 wnd.setLocation(200,100);
+037 wnd.setVisible(true);
+038 wnd.addWindowListener(
+039 new WindowAdapter() {
+040 public void windowClosed(WindowEvent event)
+041 {
+042 System.out.println("terminating program...");
+043 System.exit(0);
+044 }
+045 }
+046 );
+047 }
+048 }
+
+ |
+
+Listing2901.java |
+
+
+
+Listing 29.1: Die Klasse CloseableFrame