[JAVA] J'ai créé une interface graphique avec Swing

introduction

Je voulais créer une interface graphique, alors je l'ai fait avec Swing. Je vais résumer ce que j'ai fait pour la première fois, donc ce sera pour les débutants. Si vous faites une erreur ou trouvez quelque chose de mieux, faites-le moi savoir.

environnement

macOS Catalina (version 10.15.1) Eclipse ~~ Pour installer le plug-in, cliquez sur [Comment brancher Swing dans Eclipse 2019-03 ver.] ](Https://qiita.com/mizuki_chi00/items/6e169a865074c275a4db) Installé en référence à ~~ La page a disparu. ..

Préparation

  1. Créez un projet
  2. Sélectionnez Nouveau> Autre et sélectionnez WindowsBuilder> Swing Designer> Fenêtre d'application → [Suivant] スクリーンショット 2019-12-17 10.54.11.png
  3. Entrez un nom et cliquez sur [Terminer] pour créer → Le code suivant est généré automatiquement スクリーンショット 2019-12-17 11.01.54.png

Création d'écran

Vous pouvez l'organiser librement dans l'onglet [Conception]. Je voulais l'organiser librement cette fois, alors je l'ai créé avec la mise en page Absolute スクリーンショット 2019-12-17 11.10.36.png

  1. Cliquez sur Disposition absolue à partir des présentations → Cliquez sur la zone en forme de fenêtre sur le côté droit → Le panneau est maintenant installé sur la base. (Cela a la même apparence, mais cela ressemble à un tapis sur le sol.)
  2. Dans Composants, sélectionnez le composant que vous souhaitez placer et placez-le. J'ai essayé de placer l'étiquette. スクリーンショット 2019-12-17 11.17.42.png Une fois placé, le code sera également généré automatiquement. スクリーンショット 2019-12-17 11.19.00.png
  3. Vous pouvez modifier les propriétés en sélectionnant le composant que vous avez placé. Essayez de remplacer le texte affiché par un ID utilisateur. Réécrire le texte de la propriété en "ID utilisateur" → étirer la taille de l'étiquette horizontalement スクリーンショット 2019-12-17 11.22.13.png
  4. Répétez cette opération pour créer l'interface utilisateur comme vous l'avez imaginé. En fin de compte, j'ai créé une interface utilisateur comme celle-ci. (Ce n'est pas une interface utilisateur sympa, mais elle est toujours en construction ...) スクリーンショット 2019-12-17 11.25.15.png
Titre composant
☆ 彡 Hôtel JLabel
Nom d'utilisateur JLabel
mot de passe JLabel
À côté du nom d'utilisateur JFormattedTextField
À côté du mot de passe JpasswordField
S'identifier JButton

Création d'événement

Dans l'état actuel des choses, seule l'interface utilisateur est affichée, donc appuyer sur le bouton de connexion ne fait rien. Assurez-vous que l'événement est déclenché lorsque vous cliquez sur le bouton de connexion. Cette fois, après avoir appuyé sur le bouton de connexion, un autre écran s'affiche.

  1. Faites un clic droit sur le composant et sélectionnez "Ajouter un gestionnaire d'événements> souris> cliqué avec la souris" スクリーンショット 2019-12-17 11.36.29.png
  2. Le code est généré automatiquement, je vais donc écrire le processus ici スクリーンショット 2019-12-17 11.43.48.png
  3. Lorsque vous appuyez sur le bouton de connexion, l'écran d'origine (écran de connexion) est supprimé et l'écran suivant s'affiche. スクリーンショット 2019-12-17 11.47.21.png Supprimez l'écran de connexion avec frame.dispose (); Un autre écran est visualisé avec a.frame.setVisible (true);.

C'est un peu difficile à comprendre, Le cadre de frame.dispose (); est l'écran de connexion, Le cadre d'un.frame.setVisible (true); sera un autre écran. Si une erreur survient dans le cadre de a.frame.setVisible (true);, supprimez le privé de "private JFrame frame;" sur l'écran à afficher. スクリーンショット 2019-12-17 11.46.56.png 4. Presque prêt, courons Une fois exécuté, l'écran de connexion s'affiche. スクリーンショット 2019-12-17 11.55.58.png

Lorsque vous appuyez sur le bouton de connexion ... スクリーンショット 2019-12-17 11.57.13.png Un autre écran sera affiché.

à la fin

Je ne suis pas un professionnel, alors utilisez-le comme niveau de référence ... De plus, lors de la création avec une mise en page absolue, il est agréable de pouvoir changer librement la taille du composant, mais lorsque je redimensionne l'écran, cela ne bouge pas bien de la position d'origine, donc cela me rend un peu triste. .. Si vous connaissez un bon moyen, faites-le moi savoir ... J'écrirai à nouveau un article lorsque celui que je fais sera terminé.

Recommended Posts

J'ai créé une interface graphique avec Swing
J'ai fait une mort risquée avec Ruby
J'ai créé une application Janken avec kotlin
J'ai créé une application Janken avec Android
04. J'ai fait un frontal avec SpringBoot + Thymeleaf
J'ai fait de l'art de la mosaïque avec des images Pokemon
J'ai créé un robot LINE avec Rails + heroku
J'ai fait un portfolio avec Ruby On Rails
J'ai créé une application de chat.
[Ruby] J'ai fait un robot avec de l'anémone et du nokogiri.
J'ai créé un environnement de développement avec rails6 + docker + postgreSQL + Materialise.
J'ai créé une application shopify @java
J'ai créé un plug-in qui exécute jextract avec des tâches Gradle
J'ai créé un MOD qui appelle instantanément un véhicule avec Minecraft
J'ai fait une simple fonction de recommandation.
J'ai créé une application correspondante (application Android)
J'ai créé un outil de génération package.xml.
[Android] J'ai créé une application de podomètre.
J'ai créé une interface de ligne de commande avec WinMerge Plugin en utilisant JD-Core
[Rails] J'ai créé une mini-application de calendrier simple avec des spécifications personnalisées.
J'ai créé un formulaire de recherche simple avec Spring Boot + GitHub Search API.
[Ruby] J'ai créé un simple client Ping
J'ai créé un serveur écologique avec scala
J'ai essayé de jouer un peu avec BottomNavigationView ①
J'ai créé un plug-in pour IntelliJ IDEA
J'ai créé une application de calculatrice sur Android
J'ai créé un nouvel outil de déploiement Java
J'ai créé StringUtils.isBlank
[LINE BOT] J'ai créé un Ramen BOT avec Java (Maven) + Heroku + Spring Boot (1)
J'ai créé un site qui résume les informations sur la restriction du sucre avec Vue.js
J'ai créé un outil Diff pour les fichiers Java
J'ai créé un programme de jugement des nombres premiers en Java
Outil GUI refactorisé réalisé avec Java8 + JavaFX en 2016
J'ai fait un blackjack avec Ruby (j'ai essayé d'utiliser minitest)
Afficher l'image de type Mat sur l'interface graphique avec Swing
J'ai créé un jeu Janken en Java (CLI)
J'ai créé une application de visualisation qui affiche le PDF
J'ai créé un conteneur Docker pour exécuter Maven
J'ai créé une bibliothèque d'extension Ruby en C
[Rails] J'ai créé une fonction de brouillon en utilisant enum
J'ai créé Code Pipeline avec AWS CDK.
J'ai essayé de casser le bloc avec java (1)
Apprendre Java avec Progate → Je vais vous expliquer parce que j'ai moi-même créé un jeu de base
J'ai créé une image Docker pour la version japonaise de SDAPS
J'ai fait un jeu de problèmes de calcul simple en Java
J'ai créé un outil de vérification pour le module de version
J'ai fait une méthode pour demander la prime vendredi
J'ai fait un chat de dessin "chat de peinture 8 bits" avec WebAssembly
J'ai essayé de déployer une page créée avec l'antique Middleman sur Azure Static Web Apps
Je souhaite surveiller un fichier spécifique avec WatchService
J'ai créé un serveur et un client Restful au printemps.
J'ai créé une bibliothèque qui fonctionne comme un onglet dans Safari !!
J'ai essayé OCR de traiter un fichier PDF avec Java
[Débutant] Je suis tombé sur le lancement d'un projet avec Rails6