cours de java · gui - swing jfc (java foundation classes) interfaces graphiques et interactivité...

21
Pierre PARREND 1 Octobre 2004 Cours de Java Sciences-U Lyon Java - Introduction Java - Fondamentaux Java – Avancé http://www.rzo.free.fr

Upload: others

Post on 17-Mar-2020

18 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Cours de Java · GUI - Swing JFC (Java Foundation Classes) Interfaces graphiques et interactivité Swing Look & Feel adaptable Accessibilité (support du Braille) Java 2D API (applications,

Pierre PARREND 1 Octobre 2004

Cours de Java

Sciences-U Lyon

Java - IntroductionJava - Fondamentaux

Java – Avancé

http://www.rzo.free.fr

Page 2: Cours de Java · GUI - Swing JFC (Java Foundation Classes) Interfaces graphiques et interactivité Swing Look & Feel adaptable Accessibilité (support du Braille) Java 2D API (applications,

Pierre PARREND 2 Octobre 2004

Sommaire

● Java – Introduction

● Java – Fondamentaux

● Java – Avancé● GUI – Graphical User Interface - Swing

Page 3: Cours de Java · GUI - Swing JFC (Java Foundation Classes) Interfaces graphiques et interactivité Swing Look & Feel adaptable Accessibilité (support du Braille) Java 2D API (applications,

Pierre PARREND 3 Octobre 2004

GUI - Swing

● Présentation

● Eléments de Swing

● Le Design Pattern MVC

Page 4: Cours de Java · GUI - Swing JFC (Java Foundation Classes) Interfaces graphiques et interactivité Swing Look & Feel adaptable Accessibilité (support du Braille) Java 2D API (applications,

Pierre PARREND 4 Octobre 2004

GUI - Swing

● Types d'applications● Stand-Alone

● cf. TD

● Applet

● Java Web Start● Permet le chargement dynamique de classes (code mobile)

● Transparent pour l'utilisateur

● Exemple :

http://java.sun.com/products/javawebstart/demos.html

Page 5: Cours de Java · GUI - Swing JFC (Java Foundation Classes) Interfaces graphiques et interactivité Swing Look & Feel adaptable Accessibilité (support du Braille) Java 2D API (applications,

Pierre PARREND 5 Octobre 2004

GUI - Swing

● JFC (Java Foundation Classes)● Interfaces graphiques et interactivité

● Swing

● Look & Feel adaptable

● Accessibilité (support du Braille)

● Java 2D API (applications, applets, impression)

● Support du drag and Drop

● Internationalisation

Page 6: Cours de Java · GUI - Swing JFC (Java Foundation Classes) Interfaces graphiques et interactivité Swing Look & Feel adaptable Accessibilité (support du Braille) Java 2D API (applications,

Pierre PARREND 6 Octobre 2004

GUI - Swing

● JFC (Java Foundation Classes) – j2sdk 1.4

javax.accessibility

javax.swing.plaf

javax.swing.text.html

javax.swing

javax.swing.plaf.basic

javax.swing.text.parser

javax.swing.border

javax.swing.plaf.metal

javax.swing.text.rtf

javax.swing.colorchooser

javax.swing.plaf.multi

javax.swing.tree

javax.swing.event

javax.swing.table

javax.swing.undo

javax.swing.filechooser

javax.swing.text

Page 7: Cours de Java · GUI - Swing JFC (Java Foundation Classes) Interfaces graphiques et interactivité Swing Look & Feel adaptable Accessibilité (support du Braille) Java 2D API (applications,

Pierre PARREND 7 Octobre 2004

GUI - Swing

● Ce qu'on utilise● javax.swing

● javax.swing.event

● Comment créer des GUI● Fichiers Java

● IDE (NetBeans, Eclipse)

Page 8: Cours de Java · GUI - Swing JFC (Java Foundation Classes) Interfaces graphiques et interactivité Swing Look & Feel adaptable Accessibilité (support du Braille) Java 2D API (applications,

Pierre PARREND 8 Octobre 2004

GUI - Swing

● Exemple de code – HelloWorldSwing● Import des packages

● Définition● Une fenêtre (Top-level Container)

● Options

● Elements de cette fenêtre

● Réalisation de l'interface : deux étapes distinctes● Création

● Affichage

Page 9: Cours de Java · GUI - Swing JFC (Java Foundation Classes) Interfaces graphiques et interactivité Swing Look & Feel adaptable Accessibilité (support du Braille) Java 2D API (applications,

Pierre PARREND 9 Octobre 2004

GUI - Swing

● Exemple de code - HelloWorldSwingimport javax.swing.*; public class HelloWorldSwing { /** * Create the GUI and show it. For thread safety, * this method should be invoked from the * event-dispatching thread. */

private static void createAndShowGUI() {//Definition de l'interface graphique

}

public static void main(String[] args) {

//lancement de l'interface graphiquecreateAndShowGUI();

}}

Page 10: Cours de Java · GUI - Swing JFC (Java Foundation Classes) Interfaces graphiques et interactivité Swing Look & Feel adaptable Accessibilité (support du Braille) Java 2D API (applications,

Pierre PARREND 10 Octobre 2004

GUI - Swing

● Exemple de code - HelloWorldSwing

private static void createAndShowGUI() { //Decoration de la fenetre Jframe.setDefaultLookAndFeelDecorated(true);

//Creation et configuration de la fenetre JFrame frame = new JFrame("HelloWorldSwing"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

//Ajout du label "Hello World" JLabel label = new JLabel("Hello World"); frame.getContentPane().add(label);

//Affiche la fenetre frame.pack(); frame.setVisible(true); }

Page 11: Cours de Java · GUI - Swing JFC (Java Foundation Classes) Interfaces graphiques et interactivité Swing Look & Feel adaptable Accessibilité (support du Braille) Java 2D API (applications,

Pierre PARREND 11 Octobre 2004

GUI - Swing

● Exemple de code - HelloWorldSwing

public static void main(String[] args) {

//Prévision d'une action pour le thread de gestion // des évènements.

//Creation et Affichage du GUI.

javax.swing.SwingUtilities.invokeLater(new Runnable() { public void run() { createAndShowGUI(); } });

}}

Page 12: Cours de Java · GUI - Swing JFC (Java Foundation Classes) Interfaces graphiques et interactivité Swing Look & Feel adaptable Accessibilité (support du Braille) Java 2D API (applications,

Pierre PARREND 12 Octobre 2004

GUI - Swing

● Présentation

● Eléments de Swing

● Le Design Pattern MVC

Page 13: Cours de Java · GUI - Swing JFC (Java Foundation Classes) Interfaces graphiques et interactivité Swing Look & Feel adaptable Accessibilité (support du Braille) Java 2D API (applications,

Pierre PARREND 13 Octobre 2004

GUI - Swing

● Elements de Swing● Top-level Container

● JFrame – fenêtre principale

● JDialog – fenêtre secondaire

● JApplet - Applet

● Contiennent des composants● Zone de texte

● Boutons, Checkboxes, Radio Buttons

● Navigation dans l'arborescence

● ...

Page 14: Cours de Java · GUI - Swing JFC (Java Foundation Classes) Interfaces graphiques et interactivité Swing Look & Feel adaptable Accessibilité (support du Braille) Java 2D API (applications,

Pierre PARREND 14 Octobre 2004

GUI - Swing

● Elements de Swing – Evènements● Permet la communication entre les composants

● Emission● Quand l'utilisateur clique sur la souris, ou entre un caractère

● Réception● Tous les objets peuvent en être notifiés

Page 15: Cours de Java · GUI - Swing JFC (Java Foundation Classes) Interfaces graphiques et interactivité Swing Look & Feel adaptable Accessibilité (support du Braille) Java 2D API (applications,

Pierre PARREND 15 Octobre 2004

GUI - Swing

● Elements de Swing – Evènements● Implémentation

● Implémentation de l'interface Listener

● Implements ActionListener

● Enregistrement comme event Listener sur la source d'évenements

● button.addActionListener(this);

● Implémentation des méthodes de l'interface Listener

● public void actionPerformed(ActionEvent e) { ...//code de réaction l'action } )

Page 16: Cours de Java · GUI - Swing JFC (Java Foundation Classes) Interfaces graphiques et interactivité Swing Look & Feel adaptable Accessibilité (support du Braille) Java 2D API (applications,

Pierre PARREND 16 Octobre 2004

GUI - Swing

● Elements de Swing – Evènements● Types d'évènements

Action qui provoque l'évènement Type de Listener

ActionListener Fermeture d'un 'frame' (fenêtre principale) WindowListener Clic de souris quand le curseur est au-dessus d'un composant MouseListener Mouvement de la souris sur un composant MouseMotionListener Composant devient visible ComponentListener Composant prend le focus du clavier FocusListener Changement de selection dans une table ou une liste ListSelectionListener

Clic sur un bouton, Touche Entrer dans une zone de texte ou choix d'un item de menu

Page 17: Cours de Java · GUI - Swing JFC (Java Foundation Classes) Interfaces graphiques et interactivité Swing Look & Feel adaptable Accessibilité (support du Braille) Java 2D API (applications,

Pierre PARREND 17 Octobre 2004

GUI - Swing

● Elements de Swing -Evènements● Doivent s'exécuter rapidement

● Exécutés séquentiellement

● Dans le thread 'event.dispatching'

● Si un évènement est long à traité, l'application ne répond plus

Page 18: Cours de Java · GUI - Swing JFC (Java Foundation Classes) Interfaces graphiques et interactivité Swing Look & Feel adaptable Accessibilité (support du Braille) Java 2D API (applications,

Pierre PARREND 18 Octobre 2004

GUI - Swing

● Elements de Swing● LookAndFeel

Page 19: Cours de Java · GUI - Swing JFC (Java Foundation Classes) Interfaces graphiques et interactivité Swing Look & Feel adaptable Accessibilité (support du Braille) Java 2D API (applications,

Pierre PARREND 19 Octobre 2004

GUI - Swing

● Présentation

● Eléments de Swing

● Le Design Pattern MVC

Page 20: Cours de Java · GUI - Swing JFC (Java Foundation Classes) Interfaces graphiques et interactivité Swing Look & Feel adaptable Accessibilité (support du Braille) Java 2D API (applications,

Pierre PARREND 20 Octobre 2004

GUI - Swing

● Le Design Pattern MVC

Page 21: Cours de Java · GUI - Swing JFC (Java Foundation Classes) Interfaces graphiques et interactivité Swing Look & Feel adaptable Accessibilité (support du Braille) Java 2D API (applications,

Pierre PARREND 21 Octobre 2004

GUI - Swing

● Bilan