0% ont trouvé ce document utile (0 vote)
2 vues8 pages

Interfaces Graphiques en Java : Swing et JavaFX

Le document présente un module sur la création d'interfaces graphiques en Java, en se concentrant sur Swing et JavaFX. Il couvre les bases de Swing, la gestion des événements, l'utilisation de différents layouts, ainsi qu'une introduction à JavaFX pour des interfaces modernes. Des exemples de code illustrent la construction d'applications interactives avec des composants tels que des fenêtres, des boutons et des champs de texte.

Transféré par

ayoub
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
2 vues8 pages

Interfaces Graphiques en Java : Swing et JavaFX

Le document présente un module sur la création d'interfaces graphiques en Java, en se concentrant sur Swing et JavaFX. Il couvre les bases de Swing, la gestion des événements, l'utilisation de différents layouts, ainsi qu'une introduction à JavaFX pour des interfaces modernes. Des exemples de code illustrent la construction d'applications interactives avec des composants tels que des fenêtres, des boutons et des champs de texte.

Transféré par

ayoub
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

les interfaces graphiques (GUI) en Java.

C’est ce qui permet de créer des applications interactives avec fenêtres, boutons, menus,
formulaires, etc.

Module : Interfaces Graphiques avec Java (Swing / JavaFX)

Objectif du module

Apprendre à construire une interface utilisateur complète avec Java, en comprenant :

 Les bases de Swing (composants, événements, layout)

 Le modèle MVC pour structurer une interface

 Les événements et listeners

 L’utilisation des layouts pour organiser les composants

 Une introduction à JavaFX (GUI moderne avec CSS et FXML)

Partie 1 : Introduction à Swing

Swing, c’est quoi ?

Swing est une bibliothèque graphique intégrée dans le JDK, qui permet de créer des applications
graphiques portables.

Tous les composants Swing commencent par J :


JFrame, JButton, JLabel, JPanel, JTextField, JTable, etc.

Exemple 1 : Fenêtre simple (JFrame)

import [Link].*;

public class FenetreSimple {

public static void main(String[] args) {

JFrame frame = new JFrame("Ma première fenêtre");

[Link](400, 300);

[Link](JFrame.EXIT_ON_CLOSE);

[Link](true);

}
Explication :

 JFrame → crée la fenêtre.

 setSize() → définit la taille.

 setDefaultCloseOperation(EXIT_ON_CLOSE) → ferme le programme quand on clique sur ❌.

 setVisible(true) → affiche la fenêtre.

Exemple 2 : Ajouter un label et un bouton

import [Link].*;

public class ExempleLabelBouton {

public static void main(String[] args) {

JFrame frame = new JFrame("Exemple Swing");

[Link](300, 200);

[Link](JFrame.EXIT_ON_CLOSE);

JLabel label = new JLabel("Cliquez sur le bouton !");

JButton bouton = new JButton("Cliquez ici");

JPanel panel = new JPanel(); // conteneur

[Link](label);

[Link](bouton);

[Link](panel);

[Link](true);

Partie 2 : Les événements (Event Handling)

Chaque composant peut déclencher un événement : clic, saisie, sélection, etc.

Exemple 3 : Clic sur un bouton

import [Link].*;

import [Link].*;
public class ExempleEvenement {

public static void main(String[] args) {

JFrame frame = new JFrame("Événement bouton");

JButton bouton = new JButton("Dis Bonjour");

JLabel label = new JLabel("...");

[Link](new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

[Link]("Bonjour Swing !");

});

JPanel panel = new JPanel();

[Link](bouton);

[Link](label);

[Link](panel);

[Link](300, 200);

[Link](JFrame.EXIT_ON_CLOSE);

[Link](true);

Explication :

 addActionListener() → écoute le clic.

 ActionEvent → objet représentant l’action.

 setText() → modifie le texte du label.

Version simplifiée (Lambda)

[Link](e -> [Link]("Bonjour Swing !"));


Partie 3 : Champs de texte et zones de saisie

import [Link].*;

import [Link].*;

public class ExempleTexte {

public static void main(String[] args) {

JFrame frame = new JFrame("Saisie de texte");

JTextField champ = new JTextField(10);

JButton bouton = new JButton("Afficher");

JLabel resultat = new JLabel("...");

[Link](e -> {

String texte = [Link]();

[Link]("Vous avez écrit : " + texte);

});

JPanel panel = new JPanel();

[Link](champ);

[Link](bouton);

[Link](resultat);

[Link](panel);

[Link](350, 150);

[Link](JFrame.EXIT_ON_CLOSE);

[Link](true);

Partie 4 : Layouts (Disposition des composants)

1. FlowLayout (par défaut)

Les composants sont placés à la suite les uns des autres.

[Link](new FlowLayout());
2. BorderLayout

Organise en 5 zones : NORTH, SOUTH, EAST, WEST, CENTER.

[Link](new BorderLayout());

[Link](new JButton("Nord"), [Link]);

[Link](new JButton("Centre"), [Link]);

3. GridLayout

Grille régulière.

[Link](new GridLayout(2, 3)); // 2 lignes, 3 colonnes

Partie 5 : Exemple complet — Mini Formulaire

import [Link].*;

import [Link].*;

public class Formulaire {

public static void main(String[] args) {

JFrame frame = new JFrame("Formulaire utilisateur");

[Link](400, 200);

[Link](JFrame.EXIT_ON_CLOSE);

[Link](new GridLayout(3, 2));

JLabel lblNom = new JLabel("Nom :");

JTextField txtNom = new JTextField();

JLabel lblAge = new JLabel("Âge :");

JTextField txtAge = new JTextField();

JButton btnOk = new JButton("Valider");

JLabel lblResult = new JLabel();

[Link](e -> {

String nom = [Link]();


int age = [Link]([Link]());

[Link]("Bonjour " + nom + ", vous avez " + age + " ans !");

});

[Link](lblNom); [Link](txtNom);

[Link](lblAge); [Link](txtAge);

[Link](btnOk); [Link](lblResult);

[Link](true);

Partie 6 : MVC avec Swing (Modèle – Vue – Contrôleur)

Exemple simplifié

 Modèle : données

 Vue : interface graphique

 Contrôleur : gestion des événements

class CompteurModele {

private int valeur = 0;

public int getValeur() { return valeur; }

public void incrementer() { valeur++; }

public class CompteurMVC {

public static void main(String[] args) {

CompteurModele modele = new CompteurModele();

JFrame frame = new JFrame("Compteur");

JLabel label = new JLabel("Valeur : " + [Link]());

JButton bouton = new JButton("Incrémenter");


[Link](e -> {

[Link]();

[Link]("Valeur : " + [Link]());

});

[Link](label, "North");

[Link](bouton, "South");

[Link](250, 150);

[Link](JFrame.EXIT_ON_CLOSE);

[Link](true);

Partie 7 : Introduction à JavaFX

JavaFX est la succession moderne de Swing :

 Plus flexible

 Style CSS

 Fichiers FXML (structure XML)

 Animations et médias

Exemple JavaFX minimal

import [Link];

import [Link];

import [Link];

import [Link];

import [Link];

public class HelloFX extends Application {

@Override

public void start(Stage stage) {

Button btn = new Button("Dire Bonjour");

[Link](e -> [Link]("Bonjour JavaFX !"));


StackPane root = new StackPane(btn);

Scene scene = new Scene(root, 300, 200);

[Link]("Exemple JavaFX");

[Link](scene);

[Link]();

public static void main(String[] args) {

launch(args);

Résumé

Concept Description Exemple

JFrame Fenêtre principale new JFrame("Titre")

JPanel Conteneur de composants [Link](panel)

JButton, JLabel, JTextField Widgets de base Formulaire simple

ActionListener Gère les événements Clic sur un bouton

LayoutManager Organisation visuelle GridLayout, BorderLayout

JavaFX GUI moderne avec CSS et FXML [Link]()

Vous aimerez peut-être aussi