Titel | Inhalt | Suchen | Index | DOC | Handbuch der Java-Programmierung, 3. Auflage |
<< | < | > | >> | API | Kapitel 27 - Fenster |
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 |
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: |
|
Abbildung 27.2: Ein einfacher Bildschirmschoner
Titel | Inhalt | Suchen | Index | DOC | Handbuch der Java-Programmierung, 3. Auflage, Addison Wesley, Version 3.0.1 |
<< | < | > | >> | API | © 1998-2003 Guido Krüger, http://www.javabuch.de |