summaryrefslogtreecommitdiffstats
path: root/Master/Reference Architectures and Patterns/hjp5/html/k100178.html
blob: 15eaed0aeca30e0ab14425efe9b9779efb579c83 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
<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,k100173.html;106,k100177.html;107,k100179.html;108,k100180.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">&nbsp;Titel&nbsp;</a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="k100003.html">&nbsp;Inhalt&nbsp;</a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="search.html">&nbsp;Suchen&nbsp;</a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="index.html">&nbsp;Index&nbsp;</a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="../jdkdocs/index.html" onClick="this.href=getDocIndex()">&nbsp;DOC&nbsp;</a>
<td align="right">Handbuch der Java-Programmierung, 5. Auflage
<tr bgcolor="#EEFFCC">
<td width="7%" align=center bgcolor="#DDCC99"><a href="k100173.html">&nbsp;&lt;&lt;&nbsp;</a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="k100177.html">&nbsp;&nbsp;&lt;&nbsp;&nbsp;</a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="k100179.html">&nbsp;&nbsp;&gt;&nbsp;&nbsp;</a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="k100180.html">&nbsp;&gt;&gt;&nbsp;</a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="../jdkdocs/api/index.html" onClick="this.href=getApiIndex()">&nbsp;API&nbsp;</a>
<td align="right">Kapitel 27 - Fenster
</table>
<hr>


<!-- Section -->
<a name="sectlevel2id027005"></a>
<h2>27.5 Fensterelemente </h2>
<hr>
<ul>
<li><a href="k100178.html#sectlevel2id027005">27.5 Fensterelemente</a>
<ul>
<li><a href="k100178.html#sectlevel3id027005001">27.5.1 Der Fenstertitel</a>
<li><a href="k100178.html#sectlevel3id027005002">27.5.2 Das Icon des Fensters</a>
<li><a href="k100178.html#sectlevel3id027005003">27.5.3 Der Mauscursor</a>
<li><a href="k100178.html#sectlevel3id027005004">27.5.4 Die Vorder- und Hintergrundfarbe</a>
<li><a href="k100178.html#sectlevel3id027005005">27.5.5 Der Standard-Font</a>
</ul>
</ul>
<hr>

<p>
Neben den visuellen Eigenschaften eines Fensters gibt es noch eine
Reihe weiterer Elemente, die einem Fenster zugeordnet werden k&ouml;nnen.
Hierzu z&auml;hlen die <a name="ixa101776"><i>Titelleiste</i></a>,
das <a name="ixa101777"><i>Men&uuml;</i></a>, ein <a name="ixa101778"><i>Icon</i></a>,
ein <a name="ixa101779"><i>Mauscursor</i></a>, eine bestimmte <i>Vorder-
und Hintergrundfarbe</i><a name="ixa101780"></a> <a name="ixa101781"></a>
und ein <a name="ixa101782"><i>Standard-Font</i></a> zur Ausgabe von
Schriften. Bis auf die Definition und die Zuordnung von Men&uuml;s,
die in <a href="k100192.html#kapitelmenues">Kapitel 30</a> erl&auml;utert
werden, soll der Umgang mit diesen Fensterelementen in den folgenden
Unterabschnitten erkl&auml;rt werden. 

<!-- Section -->

<a name="sectlevel3id027005001"></a>
<h3>27.5.1 Der <a name="ixa101783">Fenstertitel</a> </h3>

<p>
Die Titelleiste eines Fensters l&auml;&szlig;t sich in den Klassen
<a href="index_f.html#ixb101144"><font color=#000080><tt>Frame</tt></font></a>
und <a href="index_d.html#ixb101145"><font color=#000080><tt>Dialog</tt></font></a>
mit Hilfe der Methode <a name="ixa101784"><a href="index_s.html#ixb101376"><font color=#000080><tt>setTitle</tt></font></a></a>
ver&auml;ndern: 
<p>
<table border=0 cellspacing=0 cellpadding=0 width=100% bgcolor="#EEFFCC">
<tr>
<td valign=top width=100%>
<font color="#660066">
<pre>
public void setTitle(String title)

public String getTitle()
</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>
Ein Aufruf dieser Methode &auml;ndert die Beschriftung der Titelleiste
in den als <a href="index_s.html#ixb100117"><font color=#000080><tt>String</tt></font></a>
&uuml;bergebenen Parameter <font color="#000077"><tt>title</tt></font>.
Mit der Methode <a name="ixa101785"><a href="index_g.html#ixb101377"><font color=#000080><tt>getTitle</tt></font></a></a>
kann die Titelleiste abgefragt werden. 

<!-- Section -->

<a name="sectlevel3id027005002"></a>
<h3>27.5.2 Das Icon des Fensters </h3>

<p>
Wenn ein Fenster unter Windows minimiert wird, zeigt es ein Icon an.
Mit einem Doppelklick auf das Icon kann die urspr&uuml;ngliche Gr&ouml;&szlig;e
des Fensters wiederhergestellt werden. Mit Hilfe der Methode <a name="ixa101786"><a href="index_s.html#ixb101378"><font color=#000080><tt>setIconImage</tt></font></a></a>
der Klasse <a href="index_f.html#ixb101144"><font color=#000080><tt>Frame</tt></font></a>
kann dem Fenster ein Icon zugeordnet werden, das beim Minimieren angezeigt
wird: 
<p>
<table border=0 cellspacing=0 cellpadding=0 width=100% bgcolor="#EEFFCC">
<tr>
<td valign=top width=100%>
<font color="#660066">
<pre>
public void setIconImage(Image image)
</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>
Beim Design des Icons steht man nun vor dem Konflikt, entscheiden
zu m&uuml;ssen, in welcher Gr&ouml;&szlig;e das Icon entworfen werden
soll. Ein Windows-Programm hat meist ein Haupticon in der Gr&ouml;&szlig;e
32*32 Pixel und ein kleineres Icon mit 16*16 Pixeln. Beide werden
an unterschiedlichen Stellen im Programm ben&ouml;tigt. Das JDK ist
gl&uuml;cklicherweise in der Lage, die &uuml;bergebenen Images so
zu skalieren, dass sie die jeweils ben&ouml;tigte Gr&ouml;&szlig;e
annehmen. Die Ergebnisse sind im Falle des gro&szlig;en Icons durchaus
brauchbar (so hat z.B. das in <a href="k100178.html#beispielicon">Abbildung 27.3</a>
gezeigte und in <a href="k100178.html#aendernfensterelemente">Listing 27.4</a>
verwendete Icon eine Originalgr&ouml;&szlig;e von 60*56 Pixeln), im
Falle des kleinen Icons sind die Ergebnisse in Pr&auml;-1.2-JDKs jedoch
nicht so befriedigend. Hier scheint die Skalierungsroutine lediglich
ein schwarz-wei&szlig;es Ergebnis zu erzeugen. 
<p>
<a name="beispielicon"></a>
<img src="images/DukeIcon.gif">
<p>

<p><i>
Abbildung 27.3: Das Beispiel-Icon</i></p>
<p>
<table border=0 cellspacing=0 cellpadding=0 width=100%>
<tr>
<td width=1 align=left valign=top bgcolor="#000077"><img src="trp1_1.gif"></td>
<td><img src="trp1_1.gif" width=2></td>
<td valign=top width=1000>

<p>
Leider unterst&uuml;tzen nicht alle Plattformen, auf denen Java l&auml;uft,
die Darstellung eines Icons als Symbol f&uuml;r ein minimiertes Fenster.
Daher kann <a href="index_s.html#ixb101378"><font color=#000080><tt>setIconImage</tt></font></a>
nicht als vollst&auml;ndig portabel angesehen werden.</td>
<td><img src="trp1_1.gif" width=2></td>
<td valign=top>
<table border=0 cellspacing=0 cellpadding=1 width=100% bgcolor="#000077">
<tr>
<td><font color="#FFFFFF">&nbsp;Hinweis&nbsp;</font></td>
</tr>
</table>
</td>
<td width=1 align=left valign=top bgcolor="#000077"><img src="trp1_1.gif"></td>
</tr>
</table>


<!-- Section -->
<a name="sectlevel3id027005003"></a>
<h3>27.5.3 Der <a name="ixa101787">Mauscursor</a> </h3>

<p>
Zur Darstellung des Mauscursors bietet die Klasse <a href="index_c.html#ixb101302"><font color=#000080><tt>Component</tt></font></a>
eine Methode <a name="ixa101788"><a href="index_s.html#ixb101379"><font color=#000080><tt>setCursor</tt></font></a></a>,
mit der ein <a name="ixa101789"><a href="index_c.html#ixb101380"><font color=#000080><tt>Cursor</tt></font></a></a>-Objekt
vorgegeben werden kann:

<p>
<p>
<table border=0 cellspacing=0 cellpadding=0 width=100% bgcolor="#EEFFCC">
<tr>
<td valign=top width=100%>
<font color="#660066">
<pre>
public void setCursor(Cursor cursor)
</pre>
</font>
</td>
<td valign=top>
<a href="../jdkdocs/api/java/awt/Component.html" onClick="this.href=getApiDoc('java.awt.Component')"><font color="#660066" size=-1>java.awt.Component</font></a></td>
</tr>
</table>

<p>
Die Klasse <a href="index_c.html#ixb101380"><font color=#000080><tt>Cursor</tt></font></a>
besitzt einen Konstruktor, der als einziges Argument eine ganzzahlige
Konstante erwartet, mit der der gew&uuml;nschte Cursor aus der Liste
der vordefinierten Cursortypen ausgew&auml;hlt werden kann. <a href="k100178.html#konstantencursorauswahl">Tabelle 27.1</a>
gibt eine Auswahl der verf&uuml;gbaren Cursortypen an. 
<p>
<table border=0 cellspacing=0 cellpadding=0 width=100%>
<tr>
<td width=1 align=left valign=top bgcolor="#FF9900"><img src="trp1_1.gif"></td>
<td><img src="trp1_1.gif" width=1></td>
<td width=1 align=left valign=top bgcolor="#FF9900"><img src="trp1_1.gif"></td>
<td><img src="trp1_1.gif" width=2></td>
<td valign=top width=1000>

<p>
Das freie Erstellen benutzerdefinierter Cursortypen wird seit dem
JDK 1.2 unterst&uuml;tzt. Dazu gibt es in der Klasse <a href="index_t.html#ixb100506"><font color=#000080><tt>Toolkit</tt></font></a>
die Methoden <a name="ixa101790"><a href="index_c.html#ixb101381"><font color=#000080><tt>createCustomCursor</tt></font></a></a>,
<a name="ixa101791"><a href="index_g.html#ixb101382"><font color=#000080><tt>getBestCursorSize</tt></font></a></a>
und <a name="ixa101792"><a href="index_g.html#ixb101383"><font color=#000080><tt>getMaximumCursorColors</tt></font></a></a>.
Wir wollen darauf nicht n&auml;her eingehen.</td>
<td><img src="trp1_1.gif" width=2></td>
<td valign=top>
<table border=0 cellspacing=0 cellpadding=1 width=100% bgcolor="#FF9900">
<tr>
<td><font color="#FFFFFF">&nbsp;JDK1.1-6.0&nbsp;</font></td>
</tr>
</table>
</td>
<td width=1 align=left valign=top bgcolor="#FF9900"><img src="trp1_1.gif"></td>
</tr>
</table>
<a name="konstantencursorauswahl"></a>
<p>
<table cols=2 border width=100%>

<tr>
<td valign=top align=left width=60%><b>Konstante aus Frame</b></td>
<td valign=top align=left width=40%><b>Cursorform </b></td></tr>
<tr>
<td valign=top align=left><a name="ixa101793"><a href="index_c.html#ixb101384"><font color=#000080><tt>Cursor.CROSSHAIR_CURSOR</tt></font></a></a></td>
<td valign=top align=left>Fadenkreuz </td></tr>
<tr>
<td valign=top align=left><a name="ixa101794"><a href="index_d.html#ixb101385"><font color=#000080><tt>Cursor.DEFAULT_CURSOR</tt></font></a></a></td>
<td valign=top align=left>Standardpfeil </td></tr>
<tr>
<td valign=top align=left><a name="ixa101795"><a href="index_m.html#ixb101386"><font color=#000080><tt>Cursor.MOVE_CURSOR</tt></font></a></a></td>
<td valign=top align=left>Vierfachpfeil </td></tr>
<tr>
<td valign=top align=left><a name="ixa101796"><a href="index_t.html#ixb101387"><font color=#000080><tt>Cursor.TEXT_CURSOR</tt></font></a></a></td>
<td valign=top align=left>Senkrechter Strich </td></tr>
<tr>
<td valign=top align=left><a name="ixa101797"><a href="index_w.html#ixb101388"><font color=#000080><tt>Cursor.WAIT_CURSOR</tt></font></a></a></td>
<td valign=top align=left>Eieruhr </td></tr>
</table>
<p><i>
Tabelle 27.1: Konstanten zur Cursorauswahl </i></p>


<!-- Section -->
<a name="sectlevel3id027005004"></a>
<h3>27.5.4 Die Vorder- und Hintergrundfarbe </h3>

<p>
Die Hintergrundfarbe eines Fensters wird vor dem Aufruf von <a name="ixa101798"><a href="index_p.html#ixb101148"><font color=#000080><tt>paint</tt></font></a></a>
verwendet, um den Hintergrund des Fensters zu l&ouml;schen. Das L&ouml;schen
kann man sich so vorstellen, dass ein gef&uuml;lltes Rechteck in der
Gr&ouml;&szlig;e der Client-Area in der aktuellen Hintergrundfarbe
gezeichnet wird. Die Vordergrundfarbe dient zur Ausgabe von Grafik-
und Textobjekten, wenn im Grafik-Kontext keine andere Farbe gesetzt
wird. Wird die Einstellung nicht ge&auml;ndert, werden in beiden F&auml;llen
die unter Windows eingestellten Standardfarben verwendet. Mit Hilfe
der Methoden <a name="ixa101799"><a href="index_s.html#ixb101389"><font color=#000080><tt>setForeground</tt></font></a></a>
und <a name="ixa101800"><a href="index_s.html#ixb101159"><font color=#000080><tt>setBackground</tt></font></a></a>
der Klasse <a href="index_c.html#ixb101302"><font color=#000080><tt>Component</tt></font></a>
k&ouml;nnen Vorder- und Hintergrundfarbe eines Fensters ge&auml;ndert
werden: 
<p>
<table border=0 cellspacing=0 cellpadding=0 width=100% bgcolor="#EEFFCC">
<tr>
<td valign=top width=100%>
<font color="#660066">
<pre>
public void setBackground(Color c)

public void setForeground(Color c)
</pre>
</font>
</td>
<td valign=top>
<a href="../jdkdocs/api/java/awt/Component.html" onClick="this.href=getApiDoc('java.awt.Component')"><font color="#660066" size=-1>java.awt.Component</font></a></td>
</tr>
</table>


<!-- Section -->
<a name="sectlevel3id027005005"></a>
<h3>27.5.5 Der Standard-Font </h3>

<p>
Ein Fenster hat einen Standard-Font, der zur Ausgabe von Schrift verwendet
wird, wenn nicht im Grafik-Kontext ein anderer Font ausgew&auml;hlt
wird. Die Verwendung eines Standard-Fonts macht Sinn, wenn nur ein
Font verwendet werden soll, um Text darzustellen. Dadurch ergeben
sich Laufzeitvorteile gegen&uuml;ber der separaten Auswahl eines Fonts
bei jedem Aufruf von <a href="index_p.html#ixb101148"><font color=#000080><tt>paint</tt></font></a>.
Der Standard-Font eines Fensters wird mit der Methode <a name="ixa101801"><a href="index_s.html#ixb101200"><font color=#000080><tt>setFont</tt></font></a></a>
der Klasse <a href="index_c.html#ixb101302"><font color=#000080><tt>Component</tt></font></a>
eingestellt: 
<p>
<table border=0 cellspacing=0 cellpadding=0 width=100% bgcolor="#EEFFCC">
<tr>
<td valign=top width=100%>
<font color="#660066">
<pre>
public void setFont(Font f)
</pre>
</font>
</td>
<td valign=top>
<a href="../jdkdocs/api/java/awt/Component.html" onClick="this.href=getApiDoc('java.awt.Component')"><font color="#660066" size=-1>java.awt.Component</font></a></td>
</tr>
</table>

<p>
Das folgende Beispielprogramm erzeugt ein Fenster mit einer Titelleiste,
gesetzter Vorder- und Hintergrundfarbe und der Eieruhr als Cursor.
Zus&auml;tzlich besitzt das Programm das in <a href="k100178.html#beispielicon">Abbildung 27.3</a>
gezeigte Icon, das beim Minimieren des Programms und in der Taskleiste
angezeigt wird. 
<a name="aendernfensterelemente"></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">/* Listing2704.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">public</font> <font color="#0000AA">class</font> Listing2704
<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> <font color="#0000AA">static</font> <font color="#006699">void</font> main(String[] args)
<font color="#555555">010 </font>  {
<font color="#555555">011 </font>    Listing2704 wnd = <font color="#0000AA">new</font> Listing2704();
<font color="#555555">012 </font>    wnd.setSize(300,200);
<font color="#555555">013 </font>    wnd.setLocation(50,50);
<font color="#555555">014 </font>    wnd.setVisible(<font color="#006699">true</font>);
<font color="#555555">015 </font>  }
<font color="#555555">016 </font>
<font color="#555555">017 </font>  <font color="#0000AA">public</font> Listing2704()
<font color="#555555">018 </font>  {
<font color="#555555">019 </font>    <font color="#006699">super</font>(<font color="#0000FF">""</font>);
<font color="#555555">020 </font>    assignTitle();
<font color="#555555">021 </font>    assignIcon();
<font color="#555555">022 </font>    assignCursor();
<font color="#555555">023 </font>    assignColors();
<font color="#555555">024 </font>    assignFont();
<font color="#555555">025 </font>    addWindowListener(<font color="#0000AA">new</font> WindowClosingAdapter(<font color="#006699">true</font>));
<font color="#555555">026 </font>  }
<font color="#555555">027 </font>
<font color="#555555">028 </font>  <font color="#0000AA">private</font> <font color="#006699">void</font> assignTitle()
<font color="#555555">029 </font>  {
<font color="#555555">030 </font>    setTitle(<font color="#0000FF">"Ver&auml;nderte Fensterelemente"</font>);
<font color="#555555">031 </font>  }
<font color="#555555">032 </font>
<font color="#555555">033 </font>  <font color="#0000AA">private</font> <font color="#006699">void</font> assignIcon()
<font color="#555555">034 </font>  {
<font color="#555555">035 </font>    Image img = getToolkit().getImage(<font color="#0000FF">"testicon.gif"</font>);
<font color="#555555">036 </font>    MediaTracker mt = <font color="#0000AA">new</font> MediaTracker(<font color="#006699">this</font>);
<font color="#555555">037 </font>
<font color="#555555">038 </font>    mt.addImage(img, 0);
<font color="#555555">039 </font>    <font color="#0000AA">try</font> {
<font color="#555555">040 </font>      <font color="#00AA00">//Warten, bis das Image vollst&auml;ndig geladen ist,</font>
<font color="#555555">041 </font>      mt.waitForAll();
<font color="#555555">042 </font>    } <font color="#0000AA">catch</font> (InterruptedException e) {
<font color="#555555">043 </font>      <font color="#00AA00">//nothing</font>
<font color="#555555">044 </font>    }
<font color="#555555">045 </font>    setIconImage(img);
<font color="#555555">046 </font>  }
<font color="#555555">047 </font>
<font color="#555555">048 </font>  <font color="#0000AA">private</font> <font color="#006699">void</font> assignCursor()
<font color="#555555">049 </font>  {
<font color="#555555">050 </font>    setCursor(<font color="#0000AA">new</font> Cursor(Cursor.WAIT_CURSOR));
<font color="#555555">051 </font>  }
<font color="#555555">052 </font>
<font color="#555555">053 </font>  <font color="#0000AA">private</font> <font color="#006699">void</font> assignColors()
<font color="#555555">054 </font>  {
<font color="#555555">055 </font>    setForeground(Color.white);
<font color="#555555">056 </font>    setBackground(Color.black);
<font color="#555555">057 </font>  }
<font color="#555555">058 </font>
<font color="#555555">059 </font>  <font color="#0000AA">private</font> <font color="#006699">void</font> assignFont()
<font color="#555555">060 </font>  {
<font color="#555555">061 </font>    setFont(<font color="#0000AA">new</font> Font(<font color="#0000FF">"Serif"</font>, Font.PLAIN, 28));
<font color="#555555">062 </font>  }
<font color="#555555">063 </font>
<font color="#555555">064 </font>  <font color="#0000AA">public</font> <font color="#006699">void</font> paint(Graphics g)
<font color="#555555">065 </font>  {
<font color="#555555">066 </font>    g.drawString(<font color="#0000FF">"Test in Vordergrundfarbe"</font>,10,70);
<font color="#555555">067 </font>  }
<font color="#555555">068 </font>}</pre>
</font>
</td>
<td valign=top align=right>
<a href="../examples/Listing2704.java"><font color="#000055" size=-1>Listing2704.java</font></a></td>
</tr>
</table>
<i>
Listing 27.4: Ein Programm mit ver&auml;nderten Fensterelementen</i></p>

<p>
Die Programmausgabe ist wie folgt: 
<p>
<a name="imageid027004"></a>
<img src="images/AendFenstElem.gif">
<p>

<p><i>
Abbildung 27.4: Ein Programm mit ver&auml;nderten Fensterelementen</i></p>
<p>
<table border=0 cellspacing=0 cellpadding=0 width=100%>
<tr>
<td width=1 align=left valign=top bgcolor="#000077"><img src="trp1_1.gif"></td>
<td><img src="trp1_1.gif" width=2></td>
<td valign=top width=1000>

<p>
In vielen Beispielen in diesem Buch wird der Einfachheit halber die
in <a href="k100152.html#fensterschliessen">Abschnitt 23.2.4</a> vorgestellte
Klasse <a href="index_w.html#ixb100159"><font color=#000080><tt>WindowClosingAdapter</tt></font></a>
verwendet, um einen Listener zum Schlie&szlig;en des Fensters zu registrieren.
Damit ein solches Beispiel sich kompilieren l&auml;&szlig;t, muss
die Datei <font color="#660099">WindowClosingAdapter.java</font> im
aktuellen Verzeichnis vorhanden sein. Sie befindet sich auf der DVD
zum Buch oder in <a href="k100152.html#windowclosingadapter">Listing 23.2</a>.</td>
<td><img src="trp1_1.gif" width=2></td>
<td valign=top>
<table border=0 cellspacing=0 cellpadding=1 width=100% bgcolor="#000077">
<tr>
<td><font color="#FFFFFF">&nbsp;Hinweis&nbsp;</font></td>
</tr>
</table>
</td>
<td width=1 align=left valign=top bgcolor="#000077"><img src="trp1_1.gif"></td>
</tr>
</table>
<hr>
<table border=0 cellpadding=0 cellspacing=1 width="100%">
<tr bgcolor="#EEFFCC">
<td width="7%" align=center bgcolor="#DDCC99"><a href="cover.html">&nbsp;Titel&nbsp;</a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="k100003.html">&nbsp;Inhalt&nbsp;</a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="search.html">&nbsp;Suchen&nbsp;</a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="index.html">&nbsp;Index&nbsp;</a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="../jdkdocs/index.html" onClick="this.href=getDocIndex()">&nbsp;DOC&nbsp;</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="k100173.html">&nbsp;&lt;&lt;&nbsp;</a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="k100177.html">&nbsp;&nbsp;&lt;&nbsp;&nbsp;</a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="k100179.html">&nbsp;&nbsp;&gt;&nbsp;&nbsp;</a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="k100180.html">&nbsp;&gt;&gt;&nbsp;</a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="../jdkdocs/api/index.html" onClick="this.href=getApiIndex()">&nbsp;API&nbsp;</a>
<td align="right">&copy; 1998, 2007 Guido Kr&uuml;ger &amp; Thomas
Stark, <a href="http://www.javabuch.de">http://www.javabuch.de</a>
</table>
<a name="endofbody"></a>
</body>
</html>