Titel   Inhalt   Suchen   Index   API  Go To Java 2, Zweite Auflage, Handbuch der Java-Programmierung
 <<    <     >    >>  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, 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   API  Go To Java 2, Zweite Auflage, Addison Wesley, Version 2.0
 <<    <     >    >>  © 2000 Guido Krüger, http://www.gkrueger.com