Cours JAVA, SWING et SQL

Commentaires

 Le JComposantImage

La classe dérive de la classe JPanel. Le constructeur appelle la méthode charger() Cette méthode crée l’image au moyen de la méthode getImage() de la classe MediaTracker. Les dimensions de l’image sont récupérées et l’image sera dessinée avec un zoom 100% par un appel à la méthode dessiner().La méthode dessiner(), qui reçoit comme paramètre le facteur de zoomage, calcule les nouvelles dimensions de l’image et appelle la méthode java paintComponent(). La méthode dessiner() est appelée aussi bien à la création qu’en exécution lorsque l’utilisateur manipulera le slider.

 La classe Image_8

La fenêtre est décomposée en trois parties. Un panneau sera le réceptacle de l’image. Les deux autres panneaux recevront la JComboBox et le JSlider. On ajoute à la JComboBox un écouteur pour la sélection d’un élément; sur cet événement on appelle la méthode charger() du composant. On ajoute au JSlider un écouteur pour modifier la taille de l’image; sur cet événement on appelle la méthode dessiner() du composant.

VISUALISER UNE TABLE SQL DANS DES JTEXTFIELD
Objectif

Créer une interface graphique avec deux JLabels, deux TextFields et quatre JButtons pour visualiser les enregistrements de la table Genres (code_genre, libelle_genre).Les quatre boutons permettent de se positionner sur le premier, le précédent, le suivant et le dernier enregistrement.
C’est sur l’événement clic du bouton que l’on va appeler la procédure positionnement (aiBouton) en passant un paramètre : le rang du bouton; il s’agit d’un numéro arbitraire. Les boutons sont activés et désactivés selon le contexte. C’est dans une procédure affichageChamps() qu’est géré l’affichage des champs, l’activation et la désactivation des boutons. La connexion à la BD est faite au préalable, c’est un argument du constructeur de la fenêtre, avec la méthode seConnecter() de la classe BD. La création du curseur est faite avec la méthode getCurseur() de la classe Curseur.

Script

import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.sql.*; import packageBD.BD; // ———————————– public class GenresVisu extends JFrame // ———————————– { // — Déclaration et Création du panneau JPanel panneau = new JPanel(); // — Déclaration et création des labels JLabel lblCodeGenre = new JLabel(« Code genre »); JLabel lblLibelleGenre = new JLabel(« Libelle genre »); // — Déclaration et création des TextField JTextField tfCodeGenre = new JTextField(«  »,2); JTextField tfLibelleGenre = new JTextField(«  »,20); // — Déclaration et création des boutons JButton cbPremier = new JButton(« <<« ); JButton cbPrecedent = new JButton(« <« ); JButton cbSuivant = new JButton(« > »); JButton cbDernier = new JButton(« >> »); // — Les variables SQL ResultSet iRs = null; // —————————– public GenresVisu(ResultSet aRs) // —————————– { super(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); // — Ajout des événements de fenêtres addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { try { iRs.close(); System.out.println(« Fermeture »); } catch(SQLException erreur){ System.err.println(« \nErreur SQL: » + erreur);}}} ); // — Ajout des événements de boutons ActionListener al = new ActionListener() { public void actionPerformed(ActionEvent e) { if(e.getSource()==cbPremier) positionnement(1); if(e.getSource()==cbPrecedent) positionnement(2); if(e.getSource()==cbSuivant) positionnement(3); if(e.getSource()==cbDernier) positionnement(4); }}; cbPremier.addActionListener(al); cbPrecedent.addActionListener(al); cbSuivant.addActionListener(al); cbDernier.addActionListener(al); // — Définition de l’agencement dans le panneau panneau.setLayout(new GridLayout(2,4)); // — Ajout d’éléments au panneau panneau.add(lblCodeGenre); panneau.add(tfCodeGenre); panneau.add(lblLibelleGenre); panneau.add(tfLibelleGenre); panneau.add(cbPremier); panneau.add(cbPrecedent); panneau.add(cbSuivant); panneau.add(cbDernier); // — « Affichage du panneau » setContentPane(panneau); setTitle(« Visu Genres »); setSize(400,100); iRs = aRs; setVisible(true); positionnement(1); } // — Procédures de manipulation de curseur // ————————————– private void positionnement(int aiBouton) // ————————————– { try {switch (aiBouton){ case 1 : iRs.first() ; break; case 2 : iRs.previous(); break; case 3 : iRs.next() ; break; case 4 : iRs.last() ; break;} afficherChamps();} catch(SQLException erreur) { System.err.println(erreur); }} // ————————– private void afficherChamps() // ————————– { try { tfCodeGenre.setText(iRs.getString(1)); tfLibelleGenre.setText(iRs.getString(2)); // && ET logique; || OU logique; ! NON logique cbPremier.setEnabled(!iRs.isFirst()); cbPrecedent.setEnabled(!iRs.isFirst()); cbSuivant.setEnabled(!iRs.isLast()); cbDernier.setEnabled(!iRs.isLast());} catch(SQLException erreur) { System.err.println(erreur); }} // ———————————– public static void main(String[] args) // ———————————–{ BD bd = new BD(); bd.seConnecter(« cours », « root », «  », « mysql »); new GenresVisu(bd.getCurseur(« SELECT * FROM genres »));}}

Cours gratuitTélécharger le cours complet

Télécharger aussi :

Laisser un commentaire

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