zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

Antwort:

Sicher. Wie die meisten Klassen kann die JFrame-Klasse erweitert werden.

Die JFrame-Klasse erweitern

a Myframe object

Um eine GUI-Applikation zu schreiben, erweitern wir die JFrame-Klasse. Dann fügen wir GUI-Komponenten hinzu, um die Klasse zu erweitern. Hier ist ein Programm, dass das tut.

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

class MeinFrame extends JFrame
{
  JLabel label;

  // Konstruktor
  MeinFrame( String title )
  {
    super( title );                      // den Konstruktor von JFrame aufrufen
    setSize( 150, 100 );
    setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );

    setLayout( new FlowLayout() );       // den Layoutmanager setzen

    label = new JLabel("Hello Swing!");  // ein JLabel konstruieren
    add( label );                        // das Label dem JFrame hinzufügen
  }

}

public class TestFrame2
{
  public static void main ( String[] args )
  {
    MeinFrame frame = new MeinFrame("Hello"); // ein MeinFrame-Objekt konstruieren
    frame.setVisible( true );             // es auffordern sichtbar zu werden
  }
}

Die neue Klasse wird MeinFrame genannt und basiert auf der Klasse JFrame. Ein Layoutmanager bestimmt, wie ein Container seine Komponenten anordnet. Der Layoutmanager für diesen Frame wird auf FlowLayout gesetzt, indem die setLayout() Methode verwendet wird. (Darüber werden Sie in den nächsten Kapiteln mehr erfahren.)

Der Frame enthält eine GUI-Komponente, ein JLabel, das die Worte "Hello Swing!" anzeigt. Das JLabel wird dem Frame mit der add() Methode hinzugefügt.

Die main() Methode in dieser Applikation tut nicht mehr als ein MeinFrame-Objekt zu konstruieren und es sichtbar zu machen.

FRAGE 11:

(Rückblick:) Wo muss super( title ) im Konstruktor stehen.