1 Swing par la pratique contrat Creative Commons Paternité-Pas d'Utilisation Commerciale-Partage des Conditions Initiales à l'Identique.

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
X.Blanc & J.Daniel Swing et Applet X.Blanc & J.Daniel
Les Interfaces Graphiques
Gestion des événements (suite)
Programmation événementielle
Audrey Occello Cédric Joffroy Anne-Marie Dery
Gestionnaires de géométrie
Arbres Un premier exemple Contenu Rendu Ecouteurs Parcours
Composants de Swing JavaBeans Actions Boutons Icônes Bordures Curseurs
Tables Construire une table Modèle de table Filtrer un modèle 1.
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.
Introduction à Java - les « Threads » -
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
Faisons une interface réactive.
Toolkit Web Framework Java pour les IHMs Cédric Dumas mars 2008 contrat Creative Commons Paternité-Pas d'Utilisation Commerciale- Partage.
TP2 ... MVC ? JList JLabel JSlider ImageLibrary Contrôleur Vue Modèle
Architecture Logicielle pour les IHM
Et Cézanne ? Savoir concevoir une IHM Savoir réaliser une IHM Savoir évaluer une IHM contrat Creative Commons Paternité-Pas d'Utilisation.
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
Java ? Printemps 90 : Naughton, Gosling et Sheridan : –"Le consommateur est le centre du projet, il faut construire un environnement de petite taille avec.
Swing et les Interfaces Graphiques
Les entrées /sorties en Java François Bonneville
Chapitre IV Object, interfaces, classes imbriquées.
Page de garde Les librairies AWT et Swing ESSI2, Septembre 2002
BlueJ_XI 1 Java, les objets : tout de suite ! Gestion des erreurs : les exceptions Notes de cours associées au chapitre 11 tutorial BlueJ
POO-L3 H. Fauconnier1 Chapitre IV 1. classe Object, clonage 2. interfaces 3. classes internes et imbriquées.
Faculté I&C, Claude Petitpierre, André Maurer 1 Java.
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
Badr Benmammar Programmation concurrente et temps réel en Java Badr Benmammar
Exceptions (fin) Généricité
Master 1 SIGLIS java Lecteur Stéphane Tallard Chapitre 4 – Structures de contrôle.
Interface graphiques.
Graphical User Interface (GUI)
Composite et Décorateur 1 Composite & décorateur Notes de cours java : les patterns Composite et Décorateur Cnam Paris jean-michel Douin Version du 1er.
Le patron de conception « Strategy » Simon Durocher ( )
Graphical User Interface
Retour sur MVC. POO3 Introduction aux IHM et à la réflexivité Java Vos premiers pas en Swing.
JUnit Présentation complète de JUnit et « guide d’utilisation » en 13 transparents.
Design Pattern Memento. Principe : Enregistrer les changements d'états d'un objet Objectif : Pouvoir restituer les états précédents d'un objet.
Multi-Thread Jian-Yun Nie
Badr Benmammar Formation Développeur Java Thread et Swing Badr Benmammar
Formation Développeur Java Applet et interfaces graphiques avec AWT
Badr Benmammar Programmation concurrente et temps réel en Java Badr Benmammar
Java Swing.
Cours 11 Threads. Chapitre X threads threadPOO-L3 H. Fauconnier3 Threads threads: plusieurs activités qui coexistent et partagent des données exemples:
Cours 2 : Patrons Observateur/MVC programmation évènementielle
COURS DE PROGRAMMATION ORIENTEE OBJET :
GWT - QuickStart V 1.0 / May. Mise en place de l’environnement Java : Version 1.4 minimum IDE Eclipse 3.3 Europa : lien (Eclipse J2EE recommandée)‏lien.
Java : Graphique Swing juin 2006 Brigitte Groléas.
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.
Interfaces graphiques. Composants d'interface utilisateur graphique (GUI) 1 Bibliothèques Awt et Swing Procédures communes pour l'utilisation de ces clases.
14 La gestion d’événements
Interface graphique PO2 ( ) Chapitre 3 Gestionnaires géométrie.
© Sofia ZAIDENBERG CNRS Mai Interface utilisateur graphique en Java Construire une interface graphique en Java (suite) adaptateurs d’événements.
Construire une interface graphique en Java
 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)
Java Swing. Principes de base  Des composants graphiques (exemple: JFrame, JButton …)  Hiérarchie de classes  Des événements et les actions à effectuer.
Interfaces graphiques en JAVA
TP N°5: Partie I Programme Serveur.
Transcription de la présentation:

1 Swing par la pratique contrat Creative Commons Paternité-Pas d'Utilisation Commerciale-Partage des Conditions Initiales à l'Identique 2.0 France License

2 Le minimum import java.awt.*; import javax.swing.*; public class Test { public static void main(String args[]) { JFrame f = new JFrame(); f.setTitle("Fi2"); f.setPreferredSize(new Dimension(400,400)); f.pack(); f.setVisible(true); }

3 Une classe séparée import java.awt.*; import javax.swing.*; public class Test { public static void main(String args[]) { Simple f = new Simple(); f.setTitle("Fi2"); f.setPreferredSize(new Dimension(400,400)); f.pack(); f.setVisible(true); } public class Simple extends JFrame { }

4 Un arbre pour Simple public class Simple extends JFrame { JPanel jPanelHaut; JPanel jPanelBas; public Simple() { getContentPane().setLayout(new BorderLayout()); jPanelHaut = new JPanel(); jPanelHaut.setPreferredSize(new Dimension(400, 100)); jPanelHaut.setBorder(BorderFactory.createLineBorder(Color.GREEN, 3)); getContentPane().add(jPanelHaut, BorderLayout.NORTH); jPanelBas = new JPanel(); jPanelBas.setPreferredSize(new Dimension(400, 200)); jPanelBas.setBorder(BorderFactory.createLineBorder(Color.RED, 3)); getContentPane().add(jPanelBas, BorderLayout.SOUTH); }

5 public class Simple extends JFrame { JLabel texteDuHaut, texteDuBas; JPanel jPanelHaut; JPanel jPanelBas; public Simple() { getContentPane().setLayout(new BorderLayout()); jPanelHaut = new JPanel(); jPanelHaut.setPreferredSize(new Dimension(400, 100)); jPanelHaut.setBorder(BorderFactory.createLineBorder(Color.GREEN, 3)); getContentPane().add(jPanelHaut, BorderLayout.NORTH); jPanelBas = new JPanel(); jPanelBas.setPreferredSize(new Dimension(400, 200)); jPanelBas.setBorder(BorderFactory.createLineBorder(Color.RED, 3)); getContentPane().add(jPanelBas, BorderLayout.SOUTH); texteDuHaut = new JLabel("l'IHM en Fi1..."); jPanelHaut.add(texteDuHaut); texteDuBas = new JLabel("...et aprés en Fi2"); jPanelBas.add(texteDuBas);

6 public class Simple extends JFrame { public Simple() { getContentPane().setLayout(new BorderLayout()); /* * */ JPanel jPanelHaut = new JPanel(); jPanelHaut.setPreferredSize(new Dimension(400, 100)); jPanelHaut.setBorder(BorderFactory.createLineBorder(Color.GREEN, 3)); jPanelHaut.setLayout(new FlowLayout(FlowLayout.CENTER, 10, 10)); getContentPane().add(jPanelHaut, BorderLayout.NORTH); JLabel texteDuHaut = new JLabel("l'IHM en Fi1..."); jPanelHaut.add(texteDuHaut); JButton boutonDuHaut = new JButton("Bouton Fi1"); jPanelHaut.add(boutonDuHaut); /* * */ JPanel jPanelBas = new JPanel(); jPanelBas.setPreferredSize(new Dimension(400, 200)); jPanelBas.setBorder(BorderFactory.createLineBorder(Color.RED, 3)); jPanelBas.setLayout(new FlowLayout(FlowLayout.CENTER, 10, 10)); getContentPane().add(jPanelBas, BorderLayout.SOUTH); JLabel texteDuBas = new JLabel("...et aprés en Fi2"); jPanelBas.add(texteDuBas); JButton boutonDuBas = new JButton("Bouton Fi2"); jPanelBas.add(boutonDuBas);

7

8 public class Simple extends JFrame { public Simple() {... JButton boutonDuHaut = new JButton("Bouton Fi1"); jPanelHaut.add(boutonDuHaut); boutonDuHaut.addActionListener(new ReponseBouton(texteDuHaut));.... JButton boutonDuBas = new JButton("Bouton Fi2"); jPanelBas.add(boutonDuBas); boutonDuBas.addActionListener(new ReponseBouton(texteDuBas)); } public class ReponseBouton implements ActionListener { JLabel jbl; ReponseBouton(JLabel par) { jbl=par; } public void actionPerformed(ActionEvent ae){ if (jbl != null) jbl.setText("nouveau "+ae.getWhen()); }

9 public class Simple extends JFrame { JLabel texteDuBas,texteDuHaut; JButton boutonDuBas,boutonDuHaut; public Simple() { /.../ texteDuHaut = new JLabel("l'IHM en Fi1..."); jPanelHaut.add(texteDuHaut); boutonDuHaut = new JButton("Bouton Fi1"); jPanelHaut.add(boutonDuHaut); boutonDuHaut.addActionListener(new ReponseBouton()); /.../ texteDuBas = new JLabel("...et aprés en Fi2"); jPanelBas.add(texteDuBas); boutonDuBas = new JButton("Bouton Fi2"); jPanelBas.add(boutonDuBas); boutonDuBas.addActionListener(new ReponseBouton()); } public class ReponseBouton implements ActionListener { public void actionPerformed(ActionEvent ae){ if (ae.getSource().equals(boutonDuBas)) texteDuBas.setText("nouveau bas : "+ae.getWhen()); else if (ae.getSource().equals(boutonDuHaut)) texteDuHaut.setText("nouveau haut : "+ae.getWhen()); }

10 /.../ JButton boutonDuBas = new JButton("Bouton Fi2"); jPanelBas.add(boutonDuBas); boutonDuBas.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { texteDuBas.setText("nouveau bas : "+e.getWhen()); } ); /.../

11 TP de rappel

12 CODE POUR COPIER/COLLER DANS UN FICHIER JAVA import java.awt.*; import javax.swing.*; import java.awt.event.*; public class Simple extends JFrame { // on sort ces deux references du contructeur pour en faire des donnees membres de la classe // car la classe interne (qui y a acces !) ReponseBouton en a besoin JLabel texteDuHaut; JButton boutonDuHaut; public Simple() { getContentPane().setLayout(new BorderLayout()); JPanel jPanelHaut = new JPanel(); jPanelHaut.setPreferredSize(new Dimension(400, 100)); jPanelHaut.setBorder(BorderFactory.createLineBorder(Color.GREEN, 3)); jPanelHaut.setLayout(new FlowLayout(FlowLayout.CENTER, 10, 10)); getContentPane().add(jPanelHaut, BorderLayout.NORTH); texteDuHaut = new JLabel("l'IHM en Fi1..."); jPanelHaut.add(texteDuHaut); boutonDuHaut = new JButton("Bouton Fi1"); jPanelHaut.add(boutonDuHaut); boutonDuHaut.addActionListener(new ReponseBouton()); JPanel jPanelBas = new JPanel(); jPanelBas.setPreferredSize(new Dimension(400, 200)); jPanelBas.setBorder(BorderFactory.createLineBorder(Color.RED, 3)); jPanelBas.setLayout(new FlowLayout(FlowLayout.CENTER, 10, 10)); getContentPane().add(jPanelBas, BorderLayout.SOUTH); Jlabel texteDuBas = new JLabel("...et aprés en Fi2"); jPanelBas.add(texteDuBas); Jbutton boutonDuBas = new JButton("Bouton Fi2"); jPanelBas.add(boutonDuBas); boutonDuBas.addActionListener(new ActionListener() { // écriture compacte de la classe interne ReponseBouton (sous forme de classe anonyme) mais pour le bouton Bas public void actionPerformed(ActionEvent e) { texteDuBas.setText("nouveau bas : "+e.getWhen()); } ); } // classe interne pour la gestion d'évènement sur le bouton Haut public class ReponseBouton implements ActionListener { public void actionPerformed(ActionEvent ae){ if (ae.getSource().equals(boutonDuHaut)) texteDuHaut.setText("nouveau haut : "+ae.getWhen()); }