JAVA, SWING ET SQL
JAVA Accès BD et SWING
© Pascal Buguet Imprimé le 18 avril 2017 Page 2
Sommaire
1.1 Présentation _______________________________________________ 4
1.2 Structure d'une application à base de Swing ______________________ 5
1.2.1 Eléments de base _______________________________________ 5
1.2.2 Interface ______________________________________________ 5
1.2.3 Script ________________________________________________ 5
1.2.4 Affichage de la fenêtre __________________________________ 7
1.2.5 La fermeture de la fenêtre ________________________________ 8
1.2.6 Le style d'interface ______________________________________ 9
1.3 Classes Swing utilisées (JFrame, JPanel, …) _____________________ 10
1.3.1 JFrame : une fenêtre ___________________________________ 10
1.3.2 JPanel : un panneau ____________________________________ 11
1.3.3 JLabel : une étiquette ___________________________________ 12
1.3.4 JTextField : une zone de texte ____________________________ 13
1.3.5 JButton : un bouton de commande ________________________ 14
1.4 Les événements avec Swing__________________________________ 15
1.5 Les JPanels _______________________________________________ 17
1.6 Retour sur le positionnement des éléments ______________________ 20
1.6.1 Le Layout par défaut ___________________________________ 20
1.6.2 Le GridLayout ________________________________________ 20
1.6.3 Le GridBagLayout _____________________________________ 20
1.7 Les images et les icônes _____________________________________ 24
1.7.1 Les images ___________________________________________ 24
1.7.2 Une icône directement dans une JFrame ____________________ 25
1.7.3 Une icône dans un JLabel _______________________________ 27
1.7.4 Les imageIcon et les listes (JList) _________________________ 29
1.7.5 Les images, le JComboBox et le JSlider ____________________ 33
1.8 Visualiser une table SQL dans des JTextField ____________________ 40
1.9 La JDialog pour des inserts dépendants _________________________ 46
1.10 Créer dynamiquement les composants d'une fenêtre : la FreeForm de
visualisation d'une table BD ______________________________________ 53
1.10.1 Objectif _____________________________________________ 53
1.10.2 Principe _____________________________________________ 53
1.10.3 Ecrans ______________________________________________ 54
1.10.4 Script _______________________________________________ 55
1.10.5 Ajouter un composant dans JFrame créée avec NetBeans _______ 59
1.10.6 Ajouter dynamiquement un composant dans JFrame créée avec
NetBeans ___________________________________________________ 59
JAVA Accès BD et SWING
© Pascal Buguet Imprimé le 18 avril 2017 Page 3
1.11 JList, JSrollPane et SQL ___________________________________ 60
1.12 La JTable, JScrollPane et SQL ______________________________ 63
1.12.1 Visualisation d'une table avec une grille (JScrollPane et JTable) _ 63
1.12.2 Visualisation Maître-Détails avec une grille _________________ 68
1.12.3 Mise à jour dans une grille ______________________________ 74
1.12.4 Ajout Maître-Détails (Pays-Villes) ________________________ 83
1.13 Le JTree et SQL _________________________________________ 85
1.13.1 JTree statique _________________________________________ 85
1.13.2 Création dynamique (SQL) d'un JTree _____________________ 88
1.13.3 Gestion dynamique d'un JTree ___________________________ 91
1.14 Héritage de JFrame _______________________________________ 92
1.15 Gestion des fenêtres ______________________________________ 94
1.15.1 Les fenêtres MDI et les fenêtres enfants ____________________ 94
1.15.2 L'item FermerTout ____________________________________ 103
1.15.3 L'item Fermer _______________________________________ 103
1.15.4 Le menu fenêtre ______________________________________ 104
1.15.5 Réorganisation des fenêtres _____________________________ 105
1.15.6 Les popup __________________________________________ 108
1.16 TP images : le diaporama _________________________________ 109
1.16.1 Enoncé _____________________________________________ 109
1.16.2 Ecran de sélection ____________________________________ 110
1.16.3 Ecran de visualisation _________________________________ 111
1.16.4 Le script de l'interface création __________________________ 112
1.17 TP intermédiaire : CRUD sur la table [produits] ________________ 117
1.18 Annexes_______________________________________________ 126
1.18.1 La classe AbsJTable __________________________________ 126
1.18.2 La classe Boutons ____________________________________ 128
1.18.3 La classe FreeForm ___________________________________ 129
1.18.4 La gestion des événements avec SWING __________________ 130
1.19 Swing et NetBeans (Création de JFrame) _____________________ 135
1.20 Swing et NetBeans (Création de projets) _____________________ 136
1.20.1 Création du projet ____________________________________ 136
1.20.2 Ajout d'une JFrame correspondant à une table ______________ 143
1.21 Récapitulatif exemples et exercices _________________________ 144
1.22 Swing et DAO __________________________________________ 145
JAVA Accès BD et SWING
© Pascal Buguet Imprimé le 18 avril 2017 Page 4
1.1 PRESENTATION
Swing fait partie de la bibliothèque des JFC (Java Foundation Classes) et permet de créer
des interfaces graphiques plus élaborées qu'avec AWT.
C'est une extension d'AWT intégrée à partir de Java 2.
Les composants graphiques de l'interface Swing sont complètement écrits en Java (à la
différence d'AWT) et emploient le style du système d'exploitation (Windows, Solaris,…).
Tous les éléments de Swing font partie du package javax.swing. Pour utiliser une classe
utilisez l'instruction import :
import javax.swing.*;
Pour la gestion des événements c'est le package java.awt.event qu'il faut continuer à utiliser.
Les composants Swing sont des descendants de la classe
JComponent
.
JAVA Accès BD et SWING
© Pascal Buguet Imprimé le 18 avril 2017 Page 5
1.2 STRUCTURE D'UNE APPLICATION A BASE DE SWING
1.2.1 Eléments de base
Une fenêtre hérite d'une
JFrame
.
Une
JFrame
doit contenir un panneau (
JPanel
).
Les composants de base (JLabel, JTextField, JButton, …) sont ajoutés au panneau.
Le panneau est ajouté à la fenêtre.
1.2.2 Interface
1.2.3 Script
package packageSwing;
import javax.swing.*;
public class Swing1 extends JFrame
{
// --- Déclarations et créations des attributs graphiques
JPanel panneau = new JPanel(); // --- Le panneau
JLabel lbl1 = new JLabel("Nom : "); // --- Les éléments
JTextField tf1 = new JTextField("",20);
JButton cbOk = new JButton("Ok");
// ------------------------------
// --- Constructeur de la fenêtre
// ------------------------------
public Swing1()
{
super("Fenêtre 1");
panneau.add(lbl1); // --- L'ajout des éléments au panneau
panneau.add(tf1);
panneau.add(cbOk);
this.setContentPane(panneau); // L'ajout du panneau à la JFrame
this.pack();
this.setVisible(true);
}
}
Note : à la place de setContentPane(panneau) vous pouvez trouver getContentPane().add(panneau);
1 / 147 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !