Création d’une interface graphique Java – Conteneurs

Page 1 de 4

Dans ce chapitre de Java moderne, nous abordons l’idée d’un conteneur qui est utilisé pour héberger des composants pour construire une interface utilisateur. Nous découvrons également comment Swing GUI Builder génère du code pour le rendre beaucoup plus facile.

Java moderne
Avec NetBeans et Swing

grande couverture

Contenu

  1. Pourquoi Java?
  2. Premiers pas avec Java
  3. Présentation de Java – Swing Objects
  4. Code d’écriture
  5. Programmes en ligne de commande
  6. Interface utilisateur – Plus de swing
  7. Travailler avec la classe
  8. Héritage de classe Java
  9. Types de données Java – Données numériques
  10. Types de données Java – Tableaux et chaînes
  11. Création d’une interface graphique Java – Conteneurs
  12. POO avancé – Type, coulée, packages
  13. Valeur et référence
  14. Lambdas Java, SAM et événements

Nous avons déjà examiné les bases de l’utilisation de Swing, mais l’histoire n’est pas encore terminée. Utiliser Swing pour créer une interface utilisateur n’est pas seulement une compétence essentielle, c’est aussi un excellent moyen de rencontrer d’autres aspects de Java. Dans ce chapitre, nous examinons comment créer un projet Java plus compliqué qui peut utiliser plusieurs fenêtres pour interagir avec l’utilisateur. Cela nous amène au sujet des conteneurs et d’une manière plus naturelle de construire un projet Java.

Voyons donc ce que sont les conteneurs.

Conteneurs

Nous avons déjà découvert des composants Swing comme le bouton et ainsi de suite et nous les avons utilisés via l’éditeur de glisser-déposer. Si vous avez besoin de rafraîchir l’utilisation des composants, jetez un œil à Chapitre 2 et Chapitre 5.

Cependant, nous avons ignoré la petite question de savoir exactement où se trouvaient les composants. Swing et la plupart des autres frameworks similaires ont une gamme d’objets qui peuvent être utilisés comme conteneurs pour d’autres objets tels que des boutons et des zones de texte, etc. Lorsque vous commencez à utiliser Swing pour la première fois, vous pouvez tenir le conteneur pour acquis, mais plus tard, vous devez vraiment comprendre ce que fait le conteneur, quels conteneurs sont disponibles et comment les utiliser.

Il existe trois types de conteneurs – cadres, boîtes de dialogue et applets – mais les applets ne sont plus utilisées et la plupart des navigateurs ne les prennent plus en charge.

Nous avons également le panneau et une gamme de variations basées sur lui, mais ce n’est pas un vrai conteneur, c’est vraiment un composant et donc un type de conteneur très limité. Il vous permet simplement de regrouper les composants dans d’autres conteneurs. En bref, les panneaux sont assez ennuyeux mais parfois utiles lorsque vous souhaitez regrouper la gestion des événements.

Un cadre d’autre part est une fenêtre complète. Lorsque vous créez un cadre, vous obtenez une fenêtre mobile entièrement redimensionnable distincte de la fenêtre du navigateur. Vous pouvez ajouter d’autres composants à un cadre et vous pouvez ajouter un menu. À tous égards, un cadre est une fenêtre à part entière de la fenêtre, mais sans chichis.

Une boîte de dialogue est une sorte de fenêtre spécialisée destinée à ne contenir que des composants avec lesquels l’utilisateur peut interagir. Une boîte de dialogue apparaît, l’utilisateur clique sur les boutons, saisit du texte, puis il disparaît. Ceci est généralement appelé une boîte de dialogue “modale” mais les boîtes de dialogue n’ont pas à être modélisées – cependant elles sont “détenues” par d’autres cadres et elles sont supprimées lorsque leur cadre parent est fermé.

Le troisième type de continer – l’applet – permet à un programme Java de s’exécuter dans un navigateur. Comme déjà mentionné, presque tous les navigateurs ont désactivé la prise en charge de cette méthode d’exécution de Java et il est logique de l’ignorer.

La classe JFrame

Après avoir introduit les types de conteneurs, il semble intéressant de regarder plus en détail le cadre. La raison en est que tous les conteneurs sont similaires dans leur utilisation – mais ils ont leurs propres problèmes particuliers. Nous avons déjà rencontré le cadre dans les chapitres précédents car c’est le conteneur que nous avons utilisé par défaut avec l’éditeur de glisser-déposer.

Maintenant que nous connaissons les classes et les objets, faisons le même travail mais cette fois sans l’aide de l’éditeur. Un cadre est représenté par la classe JFrame et pour faire apparaître des cadres ou des fenêtres à l’écran, il suffit de créer une instance de la classe, c’est-à-dire un objet JFrame.

Pour créer une instance JFrame, vous utilisez simplement la méthode standard de création d’un objet à partir de sa classe, à savoir:

JFrame MyFrame=new JFrame("My New Frame");

Le texte spécifie le titre utilisé pour la fenêtre qui apparaît.

Le nouvel objet MyFrame possède une gamme de méthodes et de propriétés qui vous permettent de contrôler son apparence et son comportement.

Donc, pour essayer cela, démarrez NetBeans et créez un nouveau projet Java appelé conteneur – acceptez toutes les valeurs par défaut. Cliquez ensuite avec le bouton droit sur le dossier Packages source et sélectionnez Nouveau, Java Main Class – acceptez les valeurs par défaut.

Une fois le projet créé, ouvrez le fichier NewMain.java. Le code que vous voyez contient la définition d’une classe appelée NewMain complète avec le début d’une seule méthode appelée main – c’est là que votre programme démarre. Lorsque vous exécutez un probject, la classe du même nom est utilisée pour fournir la méthode principale qui est respectée.

Si vous exécutez simplement le projet, il ne se passe pas grand-chose car il n’y a pas de code dans main.

Ajoutons un cadre à la méthode principale et affichons-le. Pour créer le cadre, nous utilisons simplement:

JFrame MyFrame=new JFrame("My New Frame");

Le texte que nous transmettons au constructeur est utilisé comme titre.

Après cela, nous devons personnaliser l’objet JFrame:

MyFrame.setSize(400, 400);
MyFrame.setLayout(new FlowLayout());
MyFrame.setVisible(true) ;

La première instruction définit le cadre à 400 x 400 pixels, lui indique d’utiliser un FlowLayout, puis lui indique de s’afficher. Ne vous inquiétez pas de la méthode setLayout et du FlowLayout, nous devons les examiner plus en détail plus tard.

Si vous ajoutez simplement ces lignes à main, vous découvrirez que NetBeans se plaint de vous – il y a des erreurs!

Chaque fois que vous utilisez une classe de Swing ou tout autre framework, nous devons ajouter une instruction d’importation au début du programme pour que le système Java puisse la trouver.

Dans ce cas, nous utilisons deux classes – JFrame et FlowLayout – nous devons donc ajouter:

import java.awt.FlowLayout;
import javax.swing.JFrame;

En fait, vous n’avez pas besoin de le faire manuellement comme si vous cliquez sur le symbole d’erreur que NetBeans vous proposera d’ajouter les instructions d’importation nécessaires.

Avec ce changement, le programme entier est:

import java.awt.FlowLayout;
import javax.swing.JFrame;

classe public NewMain {
public static void main (String[] args) {
JFrame MyFrame = new JFrame (“My New Frame”);
MyFrame.setSize (400, 400);
MyFrame.setLayout (nouveau FlowLayout ());
MyFrame.setVisible (true);

}
}

Maintenant, si vous exécutez le programme, vous verrez une fenêtre apparaître avec le titre My New Frame.

Source

A propos admin

Découvrez également

NVIDIA GeForce GTX 1650 passe à la mémoire GDDR6, “ l’industrie manque de GDDR5 ”

La carte graphique GeForce GTX 1650 de NVIDIA obtient un peu de bosse dans les …

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *