diff options
Diffstat (limited to 'Master/Reference Architectures and Patterns/hjp5/html/k100185.html')
| -rw-r--r-- | Master/Reference Architectures and Patterns/hjp5/html/k100185.html | 253 |
1 files changed, 253 insertions, 0 deletions
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 @@ +<html>
+<head>
+<title>
+Handbuch der Java-Programmierung, 5. Auflage
+</title>
+</head>
+<body>
+<a name="startofbody"></a>
+<script language="JavaScript" src="hjp4lib.js">
+</script>
+<script language="JavaScript">
+installKbdHandler("97,#startofbody;101,#endofbody;116,cover.html;122,k100003.html;115,search.html;105,index.html;100,JDKDOCS;112,APIDOCS;104,k100184.html;106,k100184.html;107,k100186.html;108,k100192.html");
+</script>
+<table border=0 cellpadding=0 cellspacing=1 width="100%">
+<tr bgcolor="#EEFFCC">
+<td width="7%" align=center bgcolor="#DDCC99"><a href="cover.html"> Titel </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100003.html"> Inhalt </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="search.html"> Suchen </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="index.html"> Index </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="../jdkdocs/index.html" onClick="this.href=getDocIndex()"> DOC </a>
+<td align="right">Handbuch der Java-Programmierung, 5. Auflage
+<tr bgcolor="#EEFFCC">
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100184.html"> << </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100184.html"> < </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100186.html"> > </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100192.html"> >> </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="../jdkdocs/api/index.html" onClick="this.href=getApiIndex()"> API </a>
+<td align="right">Kapitel 29 - Low-Level-Events
+</table>
+<hr>
+
+
+<!-- Section -->
+<a name="sectlevel2id029001"></a>
+<h2>29.1 <a name="ixa101940">Window-Events</a></h2>
+<hr>
+<ul>
+<li><a href="k100185.html#sectlevel2id029001">29.1 Window-Events</a>
+</ul>
+<hr>
+
+<p>
+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.
+
+<p>
+Ein Empfänger für Window-Events muss das Interface <a name="ixa101941"><a href="index_w.html#ixb101155"><font color=#000080><tt>WindowListener</tt></font></a></a>
+implementieren und bekommt Events des Typs <a name="ixa101942"><a href="index_w.html#ixb101461"><font color=#000080><tt>WindowEvent</tt></font></a></a>
+übergeben. <a href="index_w.html#ixb101461"><font color=#000080><tt>WindowEvent</tt></font></a>
+erweitert die Klasse <a href="index_c.html#ixb101403"><font color=#000080><tt>ComponentEvent</tt></font></a>
+und stellt neben <a name="ixa101943"><a href="index_g.html#ixb101409"><font color=#000080><tt>getID</tt></font></a></a>
+und <a name="ixa101944"><a href="index_g.html#ixb101401"><font color=#000080><tt>getSource</tt></font></a></a>
+die Methode <a name="ixa101945"><a href="index_g.html#ixb101506"><font color=#000080><tt>getWindow</tt></font></a></a>
+zur Verfügung, mit der das Fenster ermittelt werden kann, das
+die Nachricht ausgelöst hat.
+<p>
+<table border=0 cellspacing=0 cellpadding=0 width=100% bgcolor="#EEFFCC">
+<tr>
+<td valign=top width=100%>
+<font color="#660066">
+<pre>
+public Window getWindow()
+</pre>
+</font>
+</td>
+<td valign=top>
+<a href="../jdkdocs/api/java/awt/event/WindowEvent.html" onClick="this.href=getApiDoc('java.awt.event.WindowEvent')"><font color="#660066" size=-1>java.awt.event.WindowEvent</font></a></td>
+</tr>
+</table>
+
+<p>
+Die Registrierung der Empfängerklasse erfolgt mit der Methode
+<a name="ixa101946"><a href="index_a.html#ixb101157"><font color=#000080><tt>addWindowListener</tt></font></a></a>,
+die in den Klassen <a href="index_d.html#ixb101145"><font color=#000080><tt>Dialog</tt></font></a>
+und <a href="index_f.html#ixb101144"><font color=#000080><tt>Frame</tt></font></a>
+zur Verfügung steht:
+<p>
+<table border=0 cellspacing=0 cellpadding=0 width=100% bgcolor="#EEFFCC">
+<tr>
+<td valign=top width=100%>
+<font color="#660066">
+<pre>
+public void addWindowListener(WindowListener l)
+</pre>
+</font>
+</td>
+<td valign=top>
+<a href="../jdkdocs/api/java/awt/Frame.html" onClick="this.href=getApiDoc('java.awt.Frame')"><font color="#660066" size=-1>java.awt.Frame</font></a></td>
+</tr>
+</table>
+
+<p>
+<a href="k100185.html#methodenwindowlistener">Tabelle 29.1</a> gibt
+eine Übersicht der Methoden von <a href="index_w.html#ixb101155"><font color=#000080><tt>WindowListener</tt></font></a>
+und erklärt ihre Bedeutung: <a name="methodenwindowlistener"></a>
+
+<p>
+<table cols=2 border width=100%>
+
+<tr>
+<td valign=top align=left width=25%><b>Ereignismethode</b></td>
+<td valign=top align=left width=75%><b>Bedeutung </b></td></tr>
+<tr>
+<td valign=top align=left><a name="ixa101947"><a href="index_w.html#ixb101462"><font color=#000080><tt>windowActivated</tt></font></a></a></td>
+<td valign=top align=left>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. </td></tr>
+<tr>
+<td valign=top align=left><a name="ixa101948"><a href="index_w.html#ixb101463"><font color=#000080><tt>windowClosed</tt></font></a></a></td>
+<td valign=top align=left>Das Fenster wurde geschlossen. </td></tr>
+<tr>
+<td valign=top align=left><a name="ixa101949"><a href="index_w.html#ixb101156"><font color=#000080><tt>windowClosing</tt></font></a></a></td>
+<td valign=top align=left>Das Fenster soll geschlossen werden. Diese
+Methode wird aufgerufen, wenn der Anwender das Fenster über die
+Titelleiste, das Systemmenü oder die Tastenkombination <font color="#007700"><tt>[ALT]</tt></font>+<font color="#007700"><tt>[F4]</tt></font>
+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. </td></tr>
+<tr>
+<td valign=top align=left><a name="ixa101950"><a href="index_w.html#ixb101464"><font color=#000080><tt>windowDeactivated</tt></font></a></a></td>
+<td valign=top align=left>Das Fenster wurde deaktiviert, also in den
+Hintergrund gestellt. </td></tr>
+<tr>
+<td valign=top align=left><a name="ixa101951"><a href="index_w.html#ixb101465"><font color=#000080><tt>windowDeiconified</tt></font></a></a></td>
+<td valign=top align=left>Das Fenster wurde wiederhergestellt, nachdem
+es zuvor auf Symbolgröße verkleinert worden war. </td></tr>
+<tr>
+<td valign=top align=left><a name="ixa101952"><a href="index_w.html#ixb101466"><font color=#000080><tt>windowIconified</tt></font></a></a></td>
+<td valign=top align=left>Das Fenster wurde auf Symbolgröße
+verkleinert. </td></tr>
+<tr>
+<td valign=top align=left><a name="ixa101953"><a href="index_w.html#ixb101467"><font color=#000080><tt>windowOpened</tt></font></a></a></td>
+<td valign=top align=left>Das Fenster wurde geöffnet. </td></tr>
+</table>
+<p><i>
+Tabelle 29.1: Methoden von WindowListener </i></p>
+
+<p>
+Das folgende Programm demonstriert die Anwendung der Methode <a href="index_w.html#ixb101156"><font color=#000080><tt>windowClosing</tt></font></a>,
+deren Verwendung bereits in <a href="k100152.html#fensterschliessen">Abschnitt 23.2.4</a>
+gezeigt wurde. Dazu leitet es aus <a href="index_f.html#ixb101144"><font color=#000080><tt>Frame</tt></font></a>
+eine neue Klasse <font color="#000077"><tt>CloseableFrame</tt></font>
+ab und registriert im Konstruktor einen anonymen <a href="index_w.html#ixb101429"><font color=#000080><tt>WindowAdapter</tt></font></a>,
+der <a href="index_w.html#ixb101156"><font color=#000080><tt>windowClosing</tt></font></a>
+überlagert und das Fenster durch Aufrufe von <font color="#000077"><tt>setVisible(false)</tt></font>
+und <font color="#000077"><tt>dispose()</tt></font> schließt.
+Alle Ableitungen von <font color="#000077"><tt>CloseableFrame</tt></font>
+besitzen nun die Fähigkeit, vom Anwender per Systemmenü,
+per Schließen-Button oder (unter Windows) durch Drücken
+von <font color="#007700"><tt>[ALT]</tt></font>+<font color="#007700"><tt>[F4]</tt></font>
+beendet zu werden.
+
+<p>
+Die Klasse <font color="#000077"><tt>Listing2901</tt></font> demonstriert
+die Anwendung der neuen Klasse und erzeugt ein Fenster <font color="#000077"><tt>wnd</tt></font>
+aus <font color="#000077"><tt>CloseableFrame</tt></font>. Um das Programm
+nach dem Schließen des Fensters zu beenden, registriert es bei
+der Fensterklasse zusätzlich einen anonymen <a name="ixa101954"><a href="index_w.html#ixb101429"><font color=#000080><tt>WindowAdapter</tt></font></a></a>,
+der bei Aufruf von <a href="index_w.html#ixb101463"><font color=#000080><tt>windowClosed</tt></font></a>
+(also nach dem Schließen des Fensters) das Programm per Aufruf
+von <a href="index_e.html#ixb100651"><font color=#000080><tt>System.exit</tt></font></a>
+beendet:
+<a name="closeableframedemo"></a>
+
+<p>
+<table border=0 cellspacing=0 cellpadding=0 width=100% bgcolor="#DDDDDD">
+<tr>
+<td valign=top>
+<font color="#000055">
+<pre>
+<font color="#555555">001 </font><font color="#00AA00">/* Listing2901.java */</font>
+<font color="#555555">002 </font>
+<font color="#555555">003 </font><font color="#0000AA">import</font> java.awt.*;
+<font color="#555555">004 </font><font color="#0000AA">import</font> java.awt.event.*;
+<font color="#555555">005 </font>
+<font color="#555555">006 </font><font color="#0000AA">class</font> CloseableFrame
+<font color="#555555">007 </font><font color="#0000AA">extends</font> Frame
+<font color="#555555">008 </font>{
+<font color="#555555">009 </font> <font color="#0000AA">public</font> CloseableFrame()
+<font color="#555555">010 </font> {
+<font color="#555555">011 </font> <font color="#006699">this</font>(<font color="#0000FF">""</font>);
+<font color="#555555">012 </font> }
+<font color="#555555">013 </font>
+<font color="#555555">014 </font> <font color="#0000AA">public</font> CloseableFrame(String title)
+<font color="#555555">015 </font> {
+<font color="#555555">016 </font> <font color="#006699">super</font>(title);
+<font color="#555555">017 </font> addWindowListener(
+<font color="#555555">018 </font> <font color="#0000AA">new</font> WindowAdapter() {
+<font color="#555555">019 </font> <font color="#0000AA">public</font> <font color="#006699">void</font> windowClosing(WindowEvent event)
+<font color="#555555">020 </font> {
+<font color="#555555">021 </font> setVisible(<font color="#006699">false</font>);
+<font color="#555555">022 </font> dispose();
+<font color="#555555">023 </font> }
+<font color="#555555">024 </font> }
+<font color="#555555">025 </font> );
+<font color="#555555">026 </font> }
+<font color="#555555">027 </font>}
+<font color="#555555">028 </font>
+<font color="#555555">029 </font><font color="#0000AA">public</font> <font color="#0000AA">class</font> Listing2901
+<font color="#555555">030 </font>{
+<font color="#555555">031 </font> <font color="#0000AA">public</font> <font color="#0000AA">static</font> <font color="#006699">void</font> main(String[] args)
+<font color="#555555">032 </font> {
+<font color="#555555">033 </font> CloseableFrame wnd = <font color="#0000AA">new</font> CloseableFrame(<font color="#0000FF">"CloseableFrame"</font>);
+<font color="#555555">034 </font> wnd.setBackground(Color.lightGray);
+<font color="#555555">035 </font> wnd.setSize(300,200);
+<font color="#555555">036 </font> wnd.setLocation(200,100);
+<font color="#555555">037 </font> wnd.setVisible(<font color="#006699">true</font>);
+<font color="#555555">038 </font> wnd.addWindowListener(
+<font color="#555555">039 </font> <font color="#0000AA">new</font> WindowAdapter() {
+<font color="#555555">040 </font> <font color="#0000AA">public</font> <font color="#006699">void</font> windowClosed(WindowEvent event)
+<font color="#555555">041 </font> {
+<font color="#555555">042 </font> System.out.println(<font color="#0000FF">"terminating program..."</font>);
+<font color="#555555">043 </font> System.exit(0);
+<font color="#555555">044 </font> }
+<font color="#555555">045 </font> }
+<font color="#555555">046 </font> );
+<font color="#555555">047 </font> }
+<font color="#555555">048 </font>}</pre>
+</font>
+</td>
+<td valign=top align=right>
+<a href="../examples/Listing2901.java"><font color="#000055" size=-1>Listing2901.java</font></a></td>
+</tr>
+</table>
+<i>
+Listing 29.1: Die Klasse CloseableFrame</i></p>
+<hr>
+<table border=0 cellpadding=0 cellspacing=1 width="100%">
+<tr bgcolor="#EEFFCC">
+<td width="7%" align=center bgcolor="#DDCC99"><a href="cover.html"> Titel </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100003.html"> Inhalt </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="search.html"> Suchen </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="index.html"> Index </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="../jdkdocs/index.html" onClick="this.href=getDocIndex()"> DOC </a>
+<td align="right">Handbuch der Java-Programmierung, 5. Auflage, Addison
+Wesley, Version 5.0.1
+<tr bgcolor="#EEFFCC">
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100184.html"> << </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100184.html"> < </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100186.html"> > </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100192.html"> >> </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="../jdkdocs/api/index.html" onClick="this.href=getApiIndex()"> API </a>
+<td align="right">© 1998, 2007 Guido Krüger & Thomas
+Stark, <a href="http://www.javabuch.de">http://www.javabuch.de</a>
+</table>
+<a name="endofbody"></a>
+</body>
+</html>
|
