zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

Antwort:

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

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

Ein 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 Sie 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 Sie ein GUI-Programm ausführen und nichts passiert, überprüfen Sie, ob Sie diese Methode aufgerufen haben.

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 Sie 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?