Titel | Inhalt | Suchen | Index | DOC | Handbuch der Java-Programmierung, 3. Auflage
<< | < | > | >> | API | Kapitel 27 - Fenster

## 27.3 Visuelle Eigenschaften

- 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, daß 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, 3. Auflage, Addison Wesley, Version 3.0
<< | < | > | >> | API | © 1998-2002 Guido Krüger, http://www.javabuch.de