Tit   Inh   Ind   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   <<   <   >   >> 

17.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 gegebenenfalls 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)
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).

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 /* Listing1702.java */
002 
003 import java.awt.*;
004 import java.awt.event.*;
005 
006 public class Listing1702
007 extends Window
008 {
009    public static void main(String[] args)
010    {
011       final Listing1702 wnd = new Listing1702();
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 Listing1702()
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 }
Listing1702.java
Listing 17.2: Ein einfacher Bildschirmschoner

 Beispiel 

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

 Hinweis 

Abbildung 17.2: Ein einfacher Bildschirmschoner


 Tit   Inh   Ind   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   <<   <   >   >> 
Go To Java 2, Addison Wesley, Version 1.0.2, © 1999 Guido Krüger, http://www.gkrueger.com