Dépot Copyright

 CopyrightFrance.com

Cours Python

  1. Introduction à Python
  2. Ide Python
  3. Premier programme Python
  4. Les variables en Python
  5. Les commentaires en Python
  6. Les opérateurs Python
  7. Les fonctions en Python
  8. Structure If else... Python
  9. For While Python
  10. Formatage des chaines Python
  11. Les listes en Python
  12. Les tuples en Python
  13. Les dictionnaires en Python
  14. Les ensembles en Python
  15. POO et classes en Python
  16. Héritage en Python
  17. Le gestionnaire des packages pip
  18. Télécharger le cours complet
  19. Les modules en Python
  20. Le module OS
  21. Le module Platform
  22. Les exceptions en Python
  23. Les fichiers en Python
  24. Les fichiers ouverture & lecture
  25. Les fichiers ouverture & écriture
  26. Les fichiers CSV en Python
  27. Les Fichiers JSON En Python
  28. Fichier de configuration .ini
  29. Python & SQLite database
  30. DB Browser for SQLite
  31. Interface Graphique Tkinter
  32. Les Windgets Tkinter
  33. Bibliothèque d'images PILLOW
  34. Module de style tkinter.ttk
  35. Liste déroulante ttk Combobox
  36. le module filedialog
  37. Projet: Création éditeur de texte
  38. Bibliothèque graphique wxPython
  39. Bibliothèque graphique PyQt5
  40. Télécharger le cours complet
  41. Le module Math
  42. La bibliothèque matplotlib
  43. Le module Python statistics
  44. Bibliothèque Sympy
  45. Bibliothèques Numpy
  46. Bibliothèques Scipy
  47. Bibliothèques Pandas
  48. Bibliothèques Scikit Learn
  49. Bibliothèques TensorFlow
  50. Python Machine Learning
  51. Introduction à Django
  52. Installation de Django
  53. Premier Projet Django
  54. Interface administrateur
  55. Créer une application django
  56. Les modèles de django
  57. Exercices Python: les bases
  58. Exercices Python: les classes
  59. Exercices Python: les fichiers
  60. Tous les TP Python
  61. Création Editeur de Texte en Python Partie1
  62. Carnet d'adresse en Python
  63. Formation Python-partie1

Utilisateurs en ligne

Users: 5 Guests, 2 Bots

Nous somme sur Facebook

Annonces Google

1 – Introduction au Bibliothèque Graphique  Java Swing

Java Swing constitue l’une des plus récentes bibliothèque graphique et la plus utilisée pour le langage Java, Java Swing  fait partie du package Java Foundation Classes (JFC) qui elle même fait partie de J2SE.

2 – Première Fenêtre avec Java Swing

Dans ce tutoriel nous allons montrer comment créer une fenêtre avec la classe JFrame qui se trouve dans la bibliothèque  Javax.Swing.

Pour ce faire nous devons préalablement importer la bibliothèque javax.swing.JFrame; et faire ensuite l’instanciation sur la classe JFrame pour créer une fenêtre.

import javax.swing.JFrame;
public class maFenetre {
	
  public static void main(String[] args) {
		JFrame f=new JFrame();
		}
}

Ce qui n’affiche rien après exécution bien sûr, puisqu’on a pas invoquer la méthode setVisible( )  qui permet de visualiser la fenêtre. On peut donc améliorer le code en ajoutant cette dernière et celle qui définit les dimensions de la façon suivante :

import javax.swing.JFrame;
public class maFenetre {
	
  public static void main(String[] args) {
		JFrame f=new JFrame();
	    f.setVisible(true);
	    f.setTitle("Une Fenetre tout simplement");
	    f.setSize(400,200);
		}
}

Ce qui affiche une fenêtre de taille 400 x 200 :

JFrame-fenetre-java-sans-heritage

Afin de pouvoir améliorer la classe JFrame il vaut mieux créer une sous classe via l’instruction extends !

import javax.swing.JFrame;
public class maFenetre extends JFrame{
	//création du constructeur
  public maFenetre(){
//Titre de la fenêtre
this.setTitle("Ma propre fenêtre");
  }
}

Maintenant pour créer et afficher la fenêtre nous devons :

  1. Créer une méthode afficher( ) permettant d’afficher la fenêtre
  2. Créer une méthode main( ) pour instancier la classe maFenêtre et afficher l’objet fenêtre
import javax.swing.JFrame;
public class maFenetre extends JFrame{
	//création du constructeur
  public maFenetre(){
this.setTitle("Ma propre fenêtre");
  }
  //création de la fonction d'affichage
  public void afficher(){
	  this.setVisible(true);
  }
  public static void main(String[] args) {
		maFenetre f=new maFenetre();
	    f.afficher();
		}
}

En exécutant ce code vous obtenez une petite fenêtre de dimensions nulles, par ce qu’on a pas préciser ses dimensions

premiere-fenetre-java-JFrame

Nous pouvons maintenant améliorer le code en ajoutant au constructeur, les dimensions de la fenêtre :

this.setSize(largeur en pixels , hauteur en pixel);

Exemple

import javax.swing.JFrame;
public class maFenetre extends JFrame{
	//création du constructeur
  public maFenetre(){
// Titre de la fenêtre	  
this.setTitle("Ma propre fenêtre");
// dimensions de la fenêtre :
this.setSize(300, 200);
  }
  //création de la fonction d'affichage
  public void afficher(){
	  this.setVisible(true);
  }
  public static void main(String[] args) {
		maFenetre f=new maFenetre();
	    f.afficher();
		}
}

Ce qui affiche après exécution, une fenêtre de taille 300 x 200

java-swing-this-size

3 – Les conteneurs Java Swing ( Swing Containers )

Les composants Swing dans lesquels sont incorporés les composants de la GUI comme par exemple : JFrame, JDialog, JPanel, JScrollPane…sont appelé les conteneurs Swing ( Swing containers en anglais)

4 – Les composants  Java Swing

Les composants de la bibliothèque Swing presque identiques à ceux de Awt :

  • JButton
  • JLabel
  • JTextArea
  • JTextField
  • JRadioButton
  • JCheckBox
  • JPasswordField
  • JComboBox
  • JList
  • JScrollBar

5 – Ajout de composants Swing à la fenêtre

5 – 1 – Ajout d’un bouton

Avant d’ajouter un bouton à une fenêtre il faut préalablement créer un panneau ( Panel ) en faisant une instanciation sur la classe JPanel  et d’associer le contenu de ce panel à la fenêtre via l’instruction :


	fenêtre.setContentPane(panel);

Voici le code :

	JFrame f=new JFrame("Ma Fenêtre");
	f.setSize(500, 400);
	JPanel pan=new JPanel();
	f.setContentPane(pan);

Explication : dans ce code on créer une fenêtre nommée f contenant un  panel nommé pan

A e moment là il est temps de créer un bouton à l’aide d’une instanciation sur la classe JButton :

	JButton b=new JButton("Voici un Bouton");
	

Le bouton ne sera pas visible à ce moment là ! Il va falloir l’ajouter à la fenêtre f l’aide de la méthode :

f.getContentPane().add(b);

Voici le code final :

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class AppGaphique {
	public static void main(String[] args) {
	JFrame f=new JFrame("Ma Fenêtre");
	f.setSize(500, 400);
	JPanel pan=new JPanel();
	f.setContentPane(pan);
	//ajout de bouton
	JButton b=new JButton("Voici un Bouton");
	f.getContentPane().add(b);
	f.setVisible(true);
	} }

Ce qui affiche après exécution :

Java JButton La classe JButton sert à créer un bouton étiqueté qui a une implémentation indépendante de la plate-forme. L'application entraîne une action lorsque le bouton est poussé. Il hérite de la classe AbstractButton. Déclaration de classe JButton Voyons la déclaration de la classe javax.swing.JButton. Classe publique JButton étend les outils AbstractButton accessibles

Remarque

On ajoute les autres composants Label, TextField… de la même façon en faisant une instanciation sur les classes JLabel, JTextField…

6 – Les événements Java Swing

Exemple avec ActionListener appliquer à JButton

monBouton.addActionListener(new ActionListener(){  
public void actionPerformed(ActionEvent e){  
   [ensemble d'actions ici ]  
        }  
    });  

Exemple

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class AppGaphique {
	public static void main(String[] args) {
	JFrame f=new JFrame("Ma Fenêtre");
	f.setSize(500, 400);
	JPanel pan=new JPanel();
	f.setContentPane(pan);
	//ajout de bouton
	JButton b=new JButton("Voici un Bouton");
	f.getContentPane().add(b);
	JLabel l=new JLabel("");
	f.getContentPane().add(l);
	f.setVisible(true);
	b.addActionListener(new ActionListener(){  
		public void actionPerformed(ActionEvent e){  
		            l.setText("J'ai cliqué sur le bouton");  }  
		    });  
	} 
}

Ce qui affiche après exécution et après avoir cliqué sur le bouton :

EventListener interfaces allow you to define processing in response to user events generated by a component. A class must contain an auditory interface for each type of event to be processed: ActionListener: mouse click or press Enter ItemListener: Using a list or check box MouseMotionListener: mouse event WindowListener: Window Event

5 – Le composant JTable

Dans cette partie, nous allons voir comment créer un tableau pour afficher des données tabulaires en utilisant la classe JTable au sein de  la bibliothèque Java swing. La classe JTable représente le composant Swing table. JTable offre une fonctionnalité riche pour gérer l’apparence et le comportement du composant table.  JTable étend directement JComponent et implémente plusieurs interfaces d’auditeurs de modèles telles que TableModelListenerTableColumnModelListenerListSelectionListener … etc. JTable implémente également une interface défilable; par conséquent, le tableau est généralement placé dans un JScrollPane.

Chaque JTable comporte trois modèles :

  • TableModel
  • TableColumnModel
  • ListSelectionModel.

TableModel  :  est utilisé pour spécifier comment les données de la table sont stockées et la récupération de ces données. Les données de JTable sont souvent en structure bidimensionnelle telle qu’un tableau à deux dimensions ou un vecteur de vecteurs. TableModel est également utilisé pour spécifier comment les données peuvent être modifiées dans la table.

TableColumnModel  : est utilisé pour gérer tout TableColumn en terme de sélection de colonne, d’ordre de colonne et de taille de marge.

ListSelectionModel : permet au tableau d’avoir un mode de sélection différent, tel qu’un sélecteur unique, un intervalle unique et plusieurs sélections d’intervalles.
Nous pouvons créer une table en utilisant ses constructeurs comme suit:

Constructeurs JTable Description
JTable() Création d’une table vide
JTable(int rows, int columns) Création d’une table avec des lignes et des colonnes avec cellules vides.
JTable(Object[][] data, Object[] heading) Création d’une table avec les données spécifiées  du tableau bidimensionnel et l’en-tête de la colonne
JTable(TableModel dm) Création d’une table avec le modèle TableModel
JTable(TableModel dm, TableColumnModel cm) Création d’une table avec les modèles TableModel et TableColumnModel.
JTable(TableModel dm,TableColumnModel cm, ListSelectionModel sm) Créez une table avec les modèles TableModel, TableColumnModel, et ListSelectionModel.
JTable(Vector data, Vector heading)  Création d’une table avec vector of Vectors data et column headings headin.

Exemple

Nous verrons ici un exemple d’utilisation de JTable pour afficher les achats de matériels informatiques :

  • Nous commençons par spécifier l’en-tête de colonne dans le tableau des colonnes.
  • Nous utilisons ensuite  des données de tableau bidimensionnel pour stocker des données.
  • Nous créons ensuite une instance de JTable en transmettant les données du tableau et l’en-tête de colonne au constructeur.
  • Enfin, nous plaçons la table JScrollPane et l’ajoutons au cadre principal.
package JTableTest;

import javax.swing.*;
import java.awt.*;

public class MainClass {
 
	    public static void main(String[] args) {
	        final JFrame frame = new JFrame("JTable Demo");
	        
        String[] columns = {"id", "Matérièl Informatiques ", "Quantité"};

            Object[][] data = {
        {1,"PC ","30"},
        {2,"Tabettes","45"},
        {3, "Imprimantes", "10"}
};          
	        
	        JTable table = new JTable(data, columns);
	        JScrollPane scrollPane = new JScrollPane(table);
	        JLabel lblHeading = new JLabel("Achat de matériels informatiques");
	        lblHeading.setFont(new Font("Arial",Font.TRUETYPE_FONT,20));
	        frame.getContentPane().setLayout(new BorderLayout());
	        frame.getContentPane().add(lblHeading,BorderLayout.PAGE_START);
	        frame.getContentPane().add(scrollPane,BorderLayout.CENTER);
	        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	        frame.setSize(450, 250);
	        frame.setVisible(true);
	    }
	}

En exécutant le code ci-dessus vous obtenez la fenêtre suivante :

Modele-JTable-Java-Swing

 

Younes Derfoufi
CRMEF OUJDA

Laisser un commentaire

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

Time limit is exhausted. Please reload the CAPTCHA.