Kleines GUI-Programm

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?