Interfaces graphiques. Composants d'interface utilisateur graphique (GUI) 1 Bibliothèques Awt et Swing Procédures communes pour l'utilisation de ces clases.

Slides:



Advertisements
Présentations similaires
Réaliser en Java un programme client d’une Base de Données
Advertisements

Conception d’IHM en Java
Conception d’IHM en Java
1 Swing par la pratique contrat Creative Commons Paternité-Pas d'Utilisation Commerciale-Partage des Conditions Initiales à l'Identique.
X.Blanc & J.Daniel Swing et Applet X.Blanc & J.Daniel
Evénements Java Beans Java RMI
Les Interfaces Graphiques
1 Quelques précisions sur l'héritage. 2 Signification de super.f() appel à la méthode f() masquée super : désigne l'objet appelant comme s'il était de.
A propos de java Sun, fin 1995 C++ nettoyé semi-interprété
Gestion des événements (suite)
Programmation événementielle
Audrey Occello Cédric Joffroy Anne-Marie Dery
Gestionnaires de géométrie
Composants graphiques de Java
Page 1 Les applets Jacques Lonchamp. Page 2 Présentation Une applet est téléchargée à partir dune machine distante qui fournit le code. Ce chargement.
F. Voisin : Introduction à Java 1 Introduction à Java - les interfaces - Frédéric VOISIN FIIFO - « Remise à Niveau »
Voisin-Polian : Introduction à Java 1 Introduction à Java - AWT - Frédéric VOISIN – Nicole POLIAN FIIFO - « Remise à Niveau »
Les Interfaces graphiques Les Swing. Les interfaces graphiques: Introduction Une application est une boîte noire. Prend des entrées et produit des sorties.
Les composants Graphiques Atomiques
contrat Creative Commons Paternité-Pas d'Utilisation Commerciale- Partage des Conditions Initiales à l'Identique.
Vos premiers pas en Swing
Retour sur MVC. Introduction aux IHM et à la réflexivité Java Vos premiers pas en Swing.
Vos premiers pas en Swing
Vos premiers pas en Swing
Tarak Chaari, Stéphane Frénot, Frédérique Laforest, Frédéric Le-Mouël JAV1 JAV – TD 5 Lhéritage en Java.
Page de garde Les librairies AWT et Swing ESSI2, Septembre 2002
PRÉSENTATION Logiciel de traitement de texte:
JavaBeans Réalise par: EL KHADRAOUY TARIK AOUTIL SAFOWAN.
1 1 Université Evry Val d'Essonne Y. Laborde Une calculatrice (sans MVC) fonctionnant sur la base d'un modèle en Java.
Écouteurs de click d'une fenêtre
Langage Oriente Objet Cours 4.
Exceptions (fin) Généricité
Introduction au paradigme objet Concepts importants surcharge (overload) redéfinition (override) Définition d’une classe Définition des attributs.
Classes abstraites et Interfaces
Interface graphiques.
Graphical User Interface (GUI)
Graphical User Interface
Retour sur MVC. POO3 Introduction aux IHM et à la réflexivité Java Vos premiers pas en Swing.
1 IFT 6800 Atelier en Technologies dinformation Le langage de programmation Java chapitre 3 : Classes et Objects.
Badr Benmammar Formation Développeur Java Thread et Swing Badr Benmammar
Formation Développeur Java Applet et interfaces graphiques avec AWT
Java Swing.
TYPES DE COMPOSANTES SWING Cours 420-B43. On peut distinguer 3 Niveaux 3 niveaux Haut niveau : toute application graphique doit comprendre au moins une.
Héritage et composition
Les présentations assistées par ordinateur (préAO)
Interfaces Graphiques
APPLETS. Applets : généralités Applet : application s'exécutant dans une page HTML Le ByteCode (fichiers.class) est téléchargé depuis un serveur. L'exécution.
LIFI-Java 2004 Séance du Mercredi 22 sept. Cours 3.
Evénements. Plan Evénements Principes Exemples Adapteur.
11/04/ L'héritage Cours 7 Cours 7.
Cours 7 Classes locales Clonage Divers: tableaux.
Cours 91 9 Interfaces graphiques avec awt. Cours 92 Plan Introduction : deux bibliothèques graphiques 1.Comment se dessine une fenêtre ?  Un exemple.
14 La gestion d’événements
Interface graphique PO2 ( ) Chapitre 3 Gestionnaires géométrie.
Les classes présenté par: RAHMOUNE RIME / ZEKRI SELMA.
© Sofia ZAIDENBERG CNRS Mai Interface utilisateur graphique en Java Construire une interface graphique en Java (suite) adaptateurs d’événements.
Cours 4 (14 octobre) Héritage. Chapitre III Héritage.
Programmation Objet - Java
Construire une interface graphique en Java
Graphical User Interface
Interfaces Graphiques
 1) Il faut connaître le modèle et son fonctionnement  2) Définir le contrôle que l’on veut faire ouvrir, fermer, afficher, etc.) sur le modèle  3)
Cours d’introduction à Java Christophe Vaudry IUT - Cycle IRISM Année
Les interfaces de gestion d’événements (la suite).
Projet Java : La classification périodique des éléments sous forme d’Applet Projet réalisé en 2006 par : BESSON Sandra FLOREA Alina FOUCAULT Julie SALLOT.
Java Swing. Principes de base  Des composants graphiques (exemple: JFrame, JButton …)  Hiérarchie de classes  Des événements et les actions à effectuer.
Stéphane Frénot, Frederique Laforest, Frédéric Le-Mouël IJA 1 TD 7 IJA Les interfaces graphiques JAVA.
Les interfaces de gestion d’événements (la suite)
Transcription de la présentation:

Interfaces graphiques

Composants d'interface utilisateur graphique (GUI) 1 Bibliothèques Awt et Swing Procédures communes pour l'utilisation de ces clases : Créer un cadre Créer des composants dans ce cadre Mettre en page ces composants Écrire des méthodes réagissant aux actions de l'utilisateur AWT (Abstract Windowing Toolkit) : première bibliothèque, depuis Java 1. Peu de composants Complétée par Swing depuis Java 2

Composants d'interface utilisateur graphique (GUI) 2 Principaux composants : awtswing Boutons ButtonJButton LabelsLabelJLabel Case à cocherCheckboxJCheckBox Groupe de boutons radioCheckboxGroupButtonGroup Listes déroulantesListJList, JComboBox Zones de texteTextFieldJTextField Zones de texte multi-lignesTextAreaJTextArea AscenseursScrollBarJScrollBar etc...

Composants d'interface utilisateur graphique (GUI) 3 Conteneurs Cadres dans lesquels sont placés les composants. Ex JPanel : panneau, volet d'affichage JFrame : JPanel avec barre de menu JDialog: boîte de dialogue JScrollPane : fenêtre avec ascenseurs JTabbedPane : fenêtre à onglets

Composants d'interface utilisateur graphique (GUI) 4

Disposition des composants (layout) - 1 On peut définir la disposition géométrique des composants dans un conteneur. Par défaut : FlowLayout //BorderLayout : conteneur.setLayout(new BorderLayout()); conteneur.add(new JButton("North"), BorderLayout.NORTH); conteneur.add(new JButton("Center"), BorderLayout.CENTER);...

Disposition des composants (layout) - 2 GridLayout : conteneur.setLayout(new GridLayout(3,2) ); for(int i=1; i< =6; i++) conteneur.add(new JButton(""+i));

Disposition des composants (layout) - 3 GridBagLayout et GridBagConstraints Chaque composant est associé à une instance de GridBagConstraints qui indique la disposition du composant dans la grille. On peut ainsi disposer les composants librement.

Gestion d'évènements 1 Les gestionnaires (écouteurs) d'évènements permettent d'intercepter les actions des utilisateurs et d'assigner au programme un comportement adapté en réponse. Démarche Définir l'objet sur lequel on veut gérer les évènements (ex JPanel ) Définir une classe (1) implémentant une interface gestionnaire d'évènements (ex MouseListener ) (2) ou héritant d'une classe gestionnaire d'événement (ex MouseAdapter ) Surcharger toutes (1) ou certaines(2) méthodes de cette classe. Associer l'objet ( JPanel ) à l'écouteur d'évènements (ex addMouseListener() )

Gestion d'évènements 2 // Définir le gestionnaire d'évènements class MyMouseAdapter extends MouseAdapter { public void mouseClicked(MouseEvent e) { // le code défini ici sera exécuté lors d'un clic } // Panel sur lequel on veut gérer les clics souris class UnPanel extends JPanel { UnPanel () { // associer à l'écouteur d'évènements addMouseListener(new MyMouseAdapter()); }... }

Gestion d'évènements 3 // Même chose en utilisant une classe anonyme // Panel sur lequel on veut gérer les clics souris class UnPanel extends JPanel { UnPanel () { // associer à l'écouteur d'évènements addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent e) { // le code défini ici sera exécuté // lors d'un clic } } );... }

Gestion d'évènements 4 // L'objet peut être son propre écouteur d'évènement // Panel sur lequel on veut gérer les clics souris class UnPanel extends JPanel implements MouseListener { UnPanel () { // associer à l'écouteur d'évènements : l'objet lui-même addMouseListener(new MouseAdapter(this) ); } // Surcharger toutes les méthodes de l'interface public void mouseClicked(MouseEvent e) { // le code défini ici sera exécuté lors d'un clic } public void mousePressed (MouseEvent e) {} public void mouseReleased(MouseEvent e) {}... }

Une application Swing Cet exemple d'application swing comprend : Une fenêtre principale, de classe JFrame Un "panneau" de classe JPanel Un bouton JButton Une zone d'affichage JLabel JFrame JPanel JButton JLabel

Code de l’application import java.awt.*; import javax.swing.*; class Exemple { Exemple() { mainFrame = new JFrame("Exemple d'application"); mainPanel = new JPanel(); bouton = new JButton("Bouton Swing"); label = new JLabel("Nombre de clics : 0"); mainPanel.setLayout(new GridLayout(2,1)); mainPanel.add(bouton); mainPanel.add(label); mainFrame.getContentPane().add(mainPanel); mainFrame.setSize(300,200); mainFrame.show(); } public static void main(String args[]) { new Exemple(); } private JFrame mainFrame; private JPanel mainPanel; private JButton bouton; private JLabel label; }

Code de l’application - 2 // L’application doit se terminer si on ferme la fenêtre // principale... import java.awt.event.*;... mainFrame = new JFrame("Exemple d'application"); mainFrame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } });... }

Code de l’application - 3 // Gestion des actions sur le bouton bouton = new JButton("Bouton Swing"); bouton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { nbClics++; label.setText(prefix + nbClics); } });... private final String prefix = "Nombre de clics : "; private int nbClics = 0;

Dessiner dans un JPanel Toutes les instructions graphique doivent être appelées dans la méthode protected void paintComponent(Graphics g) Cette méthode est applelée automatiquement quand le widget doit être affiché. Elle doit être redéfinie dans une classe dérivée de JPanel. On utilise le paramètre g de classe Graphics (cf. doc); Exemple : class unPanel extends JPanel { protected void paintComponent(Graphics g) { super.paintComponent(g); g.drawLine( 10,10, 200, 100); } On peut provoquer explicitement le réaffichage du panneau en appelant sa méthode repaint();

Utiliser la souris Utiliser la classe Mouse Adapter addMouseListener ( new MouseAdapter() { public void mouseClicked(MouseEvent e) { // e.getX() et e.getY() donnent les // coordonnées du curseur au moment du clic... } );