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/k100176.html | 252 +++++++++++++++++++++ 1 file changed, 252 insertions(+) create mode 100644 Master/Reference Architectures and Patterns/hjp5/html/k100176.html (limited to 'Master/Reference Architectures and Patterns/hjp5/html/k100176.html') diff --git a/Master/Reference Architectures and Patterns/hjp5/html/k100176.html b/Master/Reference Architectures and Patterns/hjp5/html/k100176.html new file mode 100644 index 0000000..35558c3 --- /dev/null +++ b/Master/Reference Architectures and Patterns/hjp5/html/k100176.html @@ -0,0 +1,252 @@ + + + +Handbuch der Java-Programmierung, 5. Auflage + + + + + + + + + +
 Titel  + Inhalt  + Suchen  + Index  + DOC  +Handbuch der Java-Programmierung, 5. Auflage +
 <<  +  <   +  >   + >>  + API  +Kapitel 27 - Fenster +
+
+ + + + +

27.3 Visuelle Eigenschaften

+
+ +
+ +

+Ein Fenster besitzt eine Reihe von Eigenschaften, die sein Aussehen +bestimmen. Dazu gehören die Art des Rahmens, die Position und +Größe des Fensters und die Anordnung des Fensters in Relation +zu anderen Fenstern auf dem Bildschirm. + +

+Wie schon erwähnt, wird die Art des Rahmens durch die Klasse +bestimmt, die zur Erzeugung eines Fensters verwendet wird. Während +die Klasse Window +ein Fenster ohne Rahmen darstellt, besitzt ein Frame +einen Rahmen, eine Titelleiste und auf Wunsch ein Menü. + +

+Die Größe und Position eines Fensters können mit den +Methoden setSize, +setBounds +und setLocation +bestimmt werden: +

+ + + + + +
+ +
+public void setSize(int width, int height)
+public void setSize(Dimension d)
+
+public void setBounds(int x, int y, int width, int height)
+public void setBounds(Rectangle r)
+
+public void setLocation(int x, int y)
+public void setLocation(Point p)
+
+public Dimension getSize()
+public Rectangle getBounds()
+public Point getLocation()
+
+
+
+java.awt.Component
+ +

+setSize +verändert die Größe des Fensters auf den Wert (width, +height), und setLocation +bewegt die linke obere Ecke an die Bildschirmposition (x,y). +Die Methode setBounds +kombiniert die Funktionen von setSize +und setLocation +und positioniert ein Fenster der Größe (width,height) +an der Position (x,y). Mit getSize, +getBounds +und getLocation +können diese Eigenschaften auch abgefragt werden. + +

+Mit den Methoden setEnabled +und isEnabled +kann auf den Aktivierungszustand einer Komponente zugegriffen werden: +

+ + + + + +
+ +
+public void setEnabled(boolean b)
+public boolean isEnabled()
+
+
+
+java.awt.Component
+ +

+Ist die Komponente aktiv, kann sie Benutzereingaben empfangen und +Nachrichten versenden. In deaktiviertem Zustand geht das nicht. Dialogelemente +wie Textfelder oder Buttons werden deaktiviert, um dem Anwender anzuzeigen, +dass eine bestimmte Funktion oder Eingabemöglichkeit derzeit +nicht zur Verfügung steht. Sie zeigen den Unterschied zwischen +beiden Zuständen auch optisch an. Bei Fensterkomponenten wird +der Aktivierungszustand meist nicht verändert. + +

+Das folgende Beispiel stellt eine sehr einfache Form eines (manuell +zu aktivierenden) »Bildschirmschoners« dar, der den gesamten +Bildschirm dunkel schaltet und die Anmerkung »Bitte eine Taste +drücken« in die linke obere Ecke schreibt. Zusätzlich +gibt das Programm die aktuelle Auflösung des Bildschirms aus, +nachdem sie mit der Methode getScreenSize +der Klasse Toolkit +ermittelt wurde. Nach Drücken einer Taste wird das Fenster geschlossen +und das Programm beendet: + + +

+ + + + + +
+ +
+001 /* Listing2702.java */
+002 
+003 import java.awt.*;
+004 import java.awt.event.*;
+005 
+006 public class Listing2702
+007 extends Window
+008 {
+009   public static void main(String[] args)
+010   {
+011     final Listing2702 wnd = new Listing2702();
+012     wnd.setLocation(new Point(0,0));
+013     wnd.setSize(wnd.getToolkit().getScreenSize());
+014     wnd.setVisible(true);
+015     wnd.requestFocus();
+016     wnd.addKeyListener(
+017       new KeyAdapter() {
+018         public void keyPressed(KeyEvent event)
+019         {
+020           wnd.setVisible(false);
+021           wnd.dispose();
+022           System.exit(0);
+023         }
+024       }
+025     );
+026   }
+027 
+028   public Listing2702()
+029   {
+030     super(new Frame());
+031     setBackground(Color.black);
+032   }
+033 
+034   public void paint(Graphics g)
+035   {
+036     g.setColor(Color.red);
+037     g.drawString(
+038       "Bildschirmgröße ist "+
+039       getSize().width+"*"+getSize().height,
+040       10,
+041       20
+042     );
+043     g.drawString("Bitte eine Taste drücken",10,40);
+044   }
+045 }
+
+
+Listing2702.java
+ +Listing 27.2: Ein einfacher Bildschirmschoner

+

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

+Die Details des hier implementierten Event-Handlings mit Hilfe der +durch addKeyListener +eingefügten anonymen Klasse wollen wir auf Kapitel 28 +vertagen. Die Ausgabe des Programms (in verkleinerter Form) ist:

+ + + + +
 Hinweis 
+
+

+ + +

+ +

+Abbildung 27.2: Ein einfacher Bildschirmschoner

+
+ + + +
 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