In diesem Artikel wird erläutert, wie Sie eine einfache Anwendung erstellen, die in der Abbildung rechts dargestellt ist, und auch ihren Quellcode angibt.

Um Schaltflächen, Textbeschriftungen und andere Komponenten im Programmfenster zu platzieren, müssen Sie sich mit JPanel vertraut machen. Es ist eine Art Behälter für Komponenten, der das rechteckige Stück auf dem Bildschirm einnimmt und die Komponenten auf eine einfache Art und Weise darstellt. Wie genau die Komponenten angeordnet sind, hängt davon ab, welches Layout Sie für dieses Panel festgelegt haben. Für die manuelle Programmierung müssen Sie wahrscheinlich mindestens das BorderLayout kennen, das vier Komponenten an den Seiten und eine große Komponente in der Mitte platziert, dann das FlowLayout, das sie normalerweise nebeneinander in eine horizontale Reihe ordnet und schließlich das GridLayout, in dem die Komponenten angeordnet sind willkürliche n * m Tabelle. Es gibt mehr von ihnen, aber andere scheinen zu komplex für Anfänger. Die Schlüsselidee dabei ist, dass eine "Komponente" nicht nur eine Schaltfläche oder ein Kontrollkästchen sein kann, sondern auch eine andere JPanel. Sie können eine komplexe Benutzeroberfläche erhalten, indem Sie die Panels ineinander stecken und die Layouts für sie auswählen.

Sobald Sie eine Instanz von haben JPanel, Ruf den .setLayout Methode zum Festlegen des Layouts und dann die .add-Methode zum Hinzufügen der Komponenten. Für die BorderLayout, Sie müssen den Standort als zweiten Parameter angeben. Zum Beispiel, rufen Sie an myPanel.add (myButton, BorderLayout.North) Platziere deinen Knopf am oberen Rand.

Der Container der obersten Ebene, der auf dem Bildschirm für die Java-Anwendung angezeigt wird, ist kein a JPanel aber JFrame. Anruf myJFrame.getContentPane (). add (myJPanel, BorderLayout.Center) um dein Hauptfenster der Instanz von hinzuzufügen JFrame.

Um Ihre Bewerbung dazu zu bringen, mehr zu tun als nur zu erscheinen, müssen Sie auch die ActionListener Schnittstelle. Jedes nicht-abstrakte ActionListener hat eine einzige Methode, Handlung ausgeführt, Dies wird automatisch aufgerufen, wenn der Benutzer eine "Aktion" mit der Komponente ausführt, bei der der Listener registriert ist (die Aktion mit der Schaltfläche ist es offensichtlich, sie zu drücken). Um den Aktionslistener für die Schaltfläche oder eine andere Komponente zu registrieren, rufen Sie die Methode .addActionListener auf.

Methode eins von zwei:
Den Gesamtrahmen gestalten

  1. 1 Erstellen Sie eine Klasse, die das erweitert JFrame Klasse. Diese Klasse enthält alle GUI-Komponenten, z. B. Schaltflächen und Textfelder.
  2. 2 Planen Sie das Gesamtlayout Ihrer ersten Anwendung. Ein guter Anfang könnte ein zentrales Panel mit sein BorderLayout mit einem anderen Panel an der Unterseite (GrenzLayout.South). Dieses zweite Panel kann die haben FlowLayout und enthalten mehrere Schaltflächen, Kontrollkästchen und andere ähnliche Steuerelemente. Platziere schließlich das Große JTextArea in die Mitte der zentralen Komponente. Sie können seine verwenden getText () und Text setzen() Methoden zur textbasierten Interaktion mit dem Benutzer.
  3. 3 Schreiben Sie den Konstruktor in Ihre Klasse. Dieser Konstruktor muss alle Panels und Komponenten, die Sie planen, erstellen, sie richtig ineinander einfügen und das letzte Panel in den Frame "hold all" einfügen (myFrame.getContentPane (). add (myLargePanel, BorderLayout.Center).
  4. 4 Schreibe die Hauptmethode, die der Einstiegspunkt des Programms sein wird. Erstellen Sie in dieser Methode eine Instanz Ihres Frames, legen Sie die anfängliche Größe und Position fest (verwenden Sie.setSize (x, y) und .setLocation (Breite, Höhe) ) und machen Sie es auf dem Bildschirm erscheinen, indem Sie anrufen .setVisible (wahr).

Methode zwei von zwei:
Antworten auf die Benutzeraktionen programmieren

  1. 1 Bringen Sie Ihren Rahmen zum Implementieren der ActionListener Schnittstelle. Dadurch kann Ihre Klasse den Aktivitäten der Komponenten lauschen.
  2. 2 Aktivieren Sie für jede Schaltfläche, jedes Kontrollkästchen oder ein anderes Steuerelement, das Sie erstellt haben, deren Methode.addActionListener, passiere deinen Rahmen (Dies) als Parameter.
  3. 3 Override ActionListeners abstrakte Methode, actionPerformed (ActionEvent-Ereignis) In dieser Methode sollten Sie angeben, ob Anweisungen prüfen, woher das Aktionsereignis kommt. Diese if-Anweisung sollte eine Bedingung haben, die besagt: "if (event.getSource () == button1) ". Dies überprüft, woher das Ereignis kam und ob es von Ihrer Schaltfläche kam. Machen Sie in der if-Anweisung alles, was getan werden muss, wenn Sie auf die Schaltfläche klicken.
  4. 4 JTextArea hat eine Methode .setText ("meinText") Das scheint gut zu sein, um eine sichtbare Reaktion auf Ihre Aktion zu programmieren.