Erstellen Sie eine JFrame-GUI mit SWING
Das Fenster ist das Hauptfenster, das alle Widgets umfasst und als Instanz der javax.swing.jframe das ist eine aktualisierte Version von dieJFrame hat einen Inhaltsbereich, der das Hauptfenster ist, it enthält die anderen Komponenten: JPanel, JMenu, JButton, etc.
Erstellen und Anzeigen von Fenstern
import javax.swing.JFrame;Output
public class Test extends JFrame{
public static void main(String[] args) {
//1. Erstellen Sie ein JFrame
JFrame-Fenster = new JFrame("JFrame-Test");
//2. Stoppen Sie die Anwendung nach dem Schließen des Fensters
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//3. Legen Sie die Dimension Breite und Höhe fest
window.setSize(400,300);
//4. Optional: centered position
window.setLocationRelativeTo(null);
//5. display window
window.setVisible(true);
}
}
Code erklärt:
1. Die erste Anweisung erstellt ein Fenster mit dem Eingabetitel mithilfe einer Instanz der Klasse JFrame.
2. EXIT_ON_CLOSE beendet das Programm, nachdem das Fenster .
3 geschlossen wurde. Die Methode setSize gibt die Breite und Höhe an. Wenn wir möchten, dass Java die Dimension automatisch erkennt, verwenden wir die Methode pack entsprechend den Abmessungen der darin enthaltenen Komponenten.
4. setLocationRelativeTo(null) positioniert das Fenster in der Mitte des Bildschirms. Wir haben auch setLocation(x,y).
5. setVisible das Fenster auf dem Bildschirm sichtbar machen.
So fügen Sie Widgets ein
Die Methode add() können Sie Komponenten hinzufügen. In diesem Beispiel fügen wir eine JTextArea und eine JButton:
import javax.swing.JFrame;Output
import javax.swing.JTextArea;
public class Test extends JFrame{
public static void main(String[] args) {
JFrame frame = new JFrame("JFrame test");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
JTextArea jta = new JTextArea("Geben Sie einen Text ein");
//Ändern der Größe von textArea
jta.setPreferredSize(new Dimension(400,300));
//Setzen Sie ein Textfeld in die Mitte
frame.add(jta);
//Setzen Sie eine Schaltfläche in den Süden
frame.add(new JButton("erase"),BorderLayout.SOUTH);
//berechnet automatisch die Fenstergröße, indem die //Dimension von JtextArea und JButton
frame.pack();
}
}
Das Textfeld befindet sich in der Mitte, standardmäßig wird es in der Mitte eingefügt, so dass es nicht notwendig ist, den Bereich zu definieren: frame.add(jta, BorderLayout.CENTER). In diesem Beispiel können wir hinzufügen, ohne den Inhaltsbereich mit der Methode getContentPane.