Sicher. Wie die meisten Klassen kann die JFrame
-Klasse erweitert werden.
JFrame
-Klasse erweitern
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.
(Rückblick:) Wo muss super( title )
im Konstruktor stehen.