zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

Antwort:

import java.awt.*
import javax.swing.*

Der * bedeutet, dass alle Klassen eines Pakets importiert werden. Es ist OK (und üblich) das zu tun, auch wenn nur ein paar Klassen verwenden werden.

Kleines GUI-Programm

empty frame

Unser erstes GUI-Programm hat weder eine Listener-Methode noch Applikationscode und ist kein nützliches Programm. Aber es wird uns auf den Weg bringen. Hier ist das komplette Programm:

import java.awt.*;
import javax.swing.*;

public class TestFrame1
{
  public static void main ( String[] args )
  {
    JFrame frame = new JFrame("Test Frame 1");
    frame.setSize(200,100);
    frame.setVisible( true );
    frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
  }
}

Zuerst wird ein JFrame erzeugt, indem sein Konstruktor aufgerufen wird. Das Argument des Konstruktors setzt den Titel des Frames.

Die setSize(200,100) Methode erstellt eine rechteckige Fläche mit einer Breite von 200 und einer Höhe von 100 Pixeln. Die Defaultgröße eines Frames ist 0 x 0 Pixel.

Die setVisible(true) Methode zeigt den Frame auf dem Bildschirm an. Wenn wir vergessen das zu tun, wird das Frameobjekt als ein Objekt im Speicher existieren, aber es wird nicht auf dem Bildschirm angezeigt werden. Ein Aufruf von setVisible(false) macht den Frame unsichtbar, aber zerstört nicht das Softwareobjekt.

Es ist leicht setVisible(true) zu vergessen. Wenn Ihr ein GUI-Programm ausführt und nichts passiert, überprüft, ob diese Methode aufgerufen wird.

Die setDefaultCloseOperation() Methode wählt die durchzuführende Aktion aus, wenn der "Schließen"-Button des Frames angeklickt wird. Das ist der kleine x-Button des Frames oben rechts. Wenn wir vergessen diese Methode mit der passenden Konstanten aufzurufen, wird ein Klick auf den "Schließen"-Button den Frame unsichtbar machen, aber das Programm nicht beenden.

FRAGE 3:

Kann setSize(x,y) die Größe eines Frames zur Laufzeit ändern?