[JAVA] Ich habe mit Swing eine GUI erstellt

Einführung

Ich wollte eine GUI erstellen, also habe ich sie mit Swing erstellt. Ich werde zusammenfassen, was ich zum ersten Mal gemacht habe, also für Anfänger. Wenn Sie einen Fehler machen oder etwas Besseres finden, lassen Sie es mich bitte wissen.

Umgebung

macOS Catalina (Version 10.15.1) Eclipse ~~ Um den Stecker zu installieren, klicken Sie auf [So stecken Sie Swing in Eclipse 2019-03 ver.] ](Https://qiita.com/mizuki_chi00/items/6e169a865074c275a4db) Installiert mit Bezug auf ~~ Die Seite ist weg. ..

Vorbereitung

  1. Erstellen Sie ein Projekt
  2. Wählen Sie Neu> Andere und dann WindowsBuilder> Swing Designer> Anwendungsfenster → [Weiter]. スクリーンショット 2019-12-17 10.54.11.png
  3. Geben Sie einen Namen ein und klicken Sie zum Erstellen auf [Fertig stellen] → Der folgende Code wird automatisch generiert スクリーンショット 2019-12-17 11.01.54.png

Bildschirmerstellung

Sie können es frei auf der Registerkarte [Design] anordnen. Ich wollte es diesmal frei arrangieren, also habe ich es mit Absolute Layout erstellt スクリーンショット 2019-12-17 11.10.36.png

  1. Klicken Sie in Layouts auf Absolutes Layout → Klicken Sie auf den fensterartigen Bereich auf der rechten Seite → Das Panel ist jetzt auf der Basis installiert. (Es sieht genauso aus, aber es sieht aus wie ein Teppich auf dem Boden.)
  2. Wählen Sie unter Komponenten die Komponente aus, die Sie platzieren möchten, und platzieren Sie sie. Ich habe versucht, das Etikett zu platzieren. スクリーンショット 2019-12-17 11.17.42.png Nach dem Platzieren wird der Code ebenfalls automatisch generiert. スクリーンショット 2019-12-17 11.19.00.png
  3. Sie können die Eigenschaften ändern, indem Sie die Komponente auswählen, die Sie platziert haben. Versuchen Sie, den angezeigten Text in eine Benutzer-ID zu ändern. Schreiben Sie den Text der Eigenschaft in "Benutzer-ID" um → strecken Sie die Größe des Etiketts horizontal スクリーンショット 2019-12-17 11.22.13.png
  4. Wiederholen Sie diesen Vorgang, um die gewünschte Benutzeroberfläche zu erstellen. Am Ende habe ich eine solche Benutzeroberfläche erstellt. (Es ist keine coole Benutzeroberfläche, aber sie befindet sich noch im Aufbau ...) スクリーンショット 2019-12-17 11.25.15.png
Titel Komponente
☆ 彡 Hotel JLabel
Nutzername JLabel
Passwort JLabel
Neben Benutzername JFormattedTextField
Neben dem Passwort JpasswordField
Einloggen JButton

Ereigniserstellung

So wie es jetzt ist, wird nur die Benutzeroberfläche angezeigt, sodass das Drücken der Anmeldeschaltfläche nichts bewirkt. Stellen Sie sicher, dass das Ereignis ausgelöst wird, wenn Sie auf die Anmeldeschaltfläche klicken. Dieses Mal wird nach Drücken der Anmeldetaste ein weiterer Bildschirm angezeigt.

  1. Klicken Sie mit der rechten Maustaste auf die Komponente und wählen Sie "Ereignishandler hinzufügen> Maus> Mausklick". スクリーンショット 2019-12-17 11.36.29.png
  2. Der Code wird automatisch generiert, daher werde ich den Prozess hier schreiben スクリーンショット 2019-12-17 11.43.48.png
  3. Wenn Sie die Anmeldetaste drücken, wird der ursprüngliche Bildschirm (Anmeldebildschirm) verworfen und der nächste Bildschirm angezeigt. スクリーンショット 2019-12-17 11.47.21.png Entsorgen Sie den Anmeldebildschirm mit frame.dispose (); Ein weiterer Bildschirm wird mit a.frame.setVisible (true) visualisiert.

Es ist ein wenig schwer zu verstehen, Der Frame von frame.dispose (); ist der Anmeldebildschirm. Der Frame von a.frame.setVisible (true) ist ein weiterer Bildschirm. Wenn im Frame von a.frame.setVisible (true) ein Fehler auftritt, löschen Sie das Private von "Private JFrame Frame" auf dem anzuzeigenden Bildschirm. スクリーンショット 2019-12-17 11.46.56.png 4. Fast fertig, lass uns rennen Nach der Ausführung wird der Anmeldebildschirm angezeigt. スクリーンショット 2019-12-17 11.55.58.png

Wenn Sie den Login-Button drücken ... スクリーンショット 2019-12-17 11.57.13.png Ein weiterer Bildschirm wird angezeigt.

schließlich

Ich bin kein Profi, also benutze es bitte als Referenzlevel ... Auch beim Erstellen mit Absolute-Layout ist es schön, die Größe der Komponente frei ändern zu können, aber wenn ich die Größe des Bildschirms ändere, bewegt er sich nicht gut von der ursprünglichen Position, was mich ein wenig traurig macht. .. Wenn Sie einen guten Weg kennen, lassen Sie es mich bitte wissen ... Ich werde wieder einen Artikel schreiben, wenn der, den ich mache, fertig ist.

Recommended Posts

Ich habe mit Swing eine GUI erstellt
Ich habe mit Ruby einen riskanten Würfel gemacht
Ich habe eine Janken App mit Kotlin gemacht
Ich habe eine Janken App mit Android gemacht
04. Ich habe mit SpringBoot + Thymeleaf ein Frontend gemacht
Ich habe Mosaikkunst mit Pokemon-Bildern gemacht
Ich habe einen LINE Bot mit Rails + Heroku gemacht
Ich habe mit Ruby On Rails ein Portfolio erstellt
Ich habe eine Chat-App erstellt.
[Ruby] Ich habe einen Crawler mit Anemone und Nokogiri gemacht.
Ich habe eine Entwicklungsumgebung mit Rails6 + Docker + PostgreSQL + Materialise erstellt.
Ich habe eine shopify App @java erstellt
Ich habe ein Plug-In erstellt, das Jextract mit Gradle-Aufgaben ausführt
Ich habe einen MOD erstellt, der sofort ein Fahrzeug mit Minecraft anruft
Ich habe eine einfache Empfehlungsfunktion erstellt.
Ich habe eine passende App erstellt (Android App)
Ich habe ein Tool zur Generierung von package.xml erstellt.
[Android] Ich habe eine Schrittzähler-App erstellt.
Ich habe mit JD-Core eine Befehlszeilenschnittstelle mit dem WinMerge Plugin erstellt
[Rails] Ich habe eine einfache Kalender-Mini-App mit benutzerdefinierten Spezifikationen erstellt.
Ich habe ein einfaches Suchformular mit Spring Boot + GitHub Search API erstellt.
[Ruby] Ich habe einen einfachen Ping-Client erstellt
Ich habe einen Öko-Server mit Scala gemacht
Ich habe versucht, ein wenig mit BottomNavigationView zu spielen ①
Ich habe ein Plug-In für IntelliJ IDEA erstellt
Ich habe eine Taschenrechner-App für Android erstellt
Ich habe ein neues Java-Bereitstellungstool erstellt
Ich habe StringUtils.isBlank gemacht
[LINE BOT] Ich habe einen Ramen BOT mit Java (Maven) + Heroku + Spring Boot (1) gemacht.
Ich habe mit Vue.js eine Seite erstellt, die Informationen zur Zuckereinschränkung zusammenfasst
Ich habe ein Diff-Tool für Java-Dateien erstellt
Ich habe ein Programm zur Beurteilung von Primzahlen in Java erstellt
Überarbeitetes GUI-Tool, das 2016 mit Java8 + JavaFX erstellt wurde
Ich habe mit Ruby einen Blackjack gemacht (ich habe versucht, Minitest zu verwenden)
Zeigen Sie mit Swing ein Bild vom Typ Mat auf der GUI an
Ich habe ein Janken-Spiel in Java (CLI) gemacht.
Ich habe eine Viewer-App erstellt, die PDF anzeigt
Ich habe einen Docker-Container erstellt, um Maven auszuführen
Ich habe eine Ruby-Erweiterungsbibliothek in C erstellt
[Rails] Ich habe eine Entwurfsfunktion mit enum erstellt
Ich habe Code Pipeline mit AWS CDK erstellt.
Ich habe versucht, den Block mit Java zu brechen (1)
Lerne Java mit Progate → Ich werde es erklären, weil ich selbst ein einfaches Spiel gemacht habe
Ich habe ein Docker-Image für die japanische Version von SDAPS erstellt
Ich habe ein einfaches Berechnungsproblemspiel in Java gemacht
Ich habe ein Check-Tool für das Release-Modul erstellt
Ich habe eine Methode entwickelt, um nach Premium Friday zu fragen
Ich habe mit WebAssembly einen Zeichnungschat "8bit Paint Chat" erstellt
Ich habe versucht, eine mit antikem Middleman erstellte Seite in Azure Static Web Apps bereitzustellen
Ich möchte eine bestimmte Datei mit WatchService überwachen
Ich habe im Frühjahr einen Restful-Server und -Client erstellt.
Ich habe eine Bibliothek erstellt, die in Safari wie ein Tab funktioniert !!
Ich habe versucht, mit OCR eine PDF-Datei mit Java zu verarbeiten
[Anfänger] Ich bin auf ein Projekt mit Rails6 gestoßen