Programmation en Java Interface graphique. NGUYEN Thi Minh Tuyen

Documents pareils
Programmation en Java Interface graphique. NGUYEN Thi Minh Tuyen

Interfaces graphiques avec l API Swing

Construire des plug-ins pour SAS Management Console SAS 9.1

Desktop Intégration. Rémi Forax

Java 7 Les fondamentaux du langage Java

Micro-ordinateurs, informations, idées, trucs et astuces utiliser le Bureau à distance

L ORDINATEUR FACILE D ACCÈS!

Form Designer Guide d utilisateur DOC-FD-UG-FR-01/01/12

Édu-groupe - Version 4.3

Programmation Orientée Objet

Unity. Moteur de jeu 3D et 2D. Cross platform: Windows, Mac, Linux, ios, Android, Blackberry, Xbox, Playstation, Wii

AUVRAY Clément (168187) HOMBERGER Alexandre (186897) GLADE. Langages, outils et méthodes pour la programmation avancée Page 1 sur 12

Freeway 7. Nouvelles fonctionnalités

2 S I M 1 P H O N E G U I D E U T I L I S A T E U R. Guide d utilisation E-commerce / Prestashop

Stellar Phoenix Outlook PST Repair - Technical 5.0 Guide d'installation

JAVA 8. JAVA 8 - Les fondamentaux du langage. Les fondamentaux du langage Java. Avec exercices pratiques et corrigés JAVA 8 29,90.

Développement Logiciel

La messagerie électronique

Publication Assistée par Ordinateur

Cours 2 : programmation des interfaces graphiques

Outils, langage et approche Android Une introduction. Nicolas Stouls lyon.fr

SOMMAIRE. Présentation assistée sur ordinateur. Collège F.Rabelais 1/10

WEB page builder and server for SCADA applications usable from a WEB navigator

Once the installation is complete, you can delete the temporary Zip files..

TP3. Mail. Attention aux fausses manoeuvres lors de ce TP vous pouvez endommager votre mail sur ouindose.

Guide d'utilisation. OpenOffice Calc. AUTEUR INITIAL : VINCENT MEUNIER Publié sous licence Creative Commons

Signature plume. Matériel : une plume ou un crayon. Ouvrir PhotoFiltre. Ouvrir votre image plume dans PhotoFiltre

Création d un formulaire de contact Procédure

Avenir Concept Monaco

Nettoyer Windows Vista et Windows 7

Système Normalisé de Gestion des Bibliothèques -SYNGEB : version Réseau-

Publier dans la Base Documentaire

1 Démarrer L écran Isis La boite à outils Mode principal Mode gadget Mode graphique...

Activité 11 : Nuage de points ou diagramme de dispersion

TBI-DIRECT. Bridgit. Pour le partage de votre bureau. Écrit par : TBI Direct.

L Histoire de Java. «Portable» veut dire qu il peut tourner sur plusieurs systèmes d exploitations différents ; Windows, Linux

INFORM :: DEMARRAGE RAPIDE A service by KIS

Sélection du contrôleur

DOSSIER D'UTILISATION

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

Formation > Développement > Internet > Réseaux > Matériel > Maintenance

WINDEV MOBILE. ios SMARTPHONE SUPPORT: IOS, ANDROID, WINDOWS PHONE 8.

F O R M A T I O N S LOTUS NOTES. 8.5 Utilisateurs rue de la Bôle. E U R L. a u c a p i t a l d e

LE TABLEUR OPENOFFICE CALC : CONTRÔLES DE FORMULAIRES ACCÈS AUX BASES DE DONNÉES

GUIDE D UTILISATION DU BACKOFFICE

Installation et paramétrage. Accès aux modèles, autotextes et clip- art partagés

Logiciel de gestion de caisse et d ardoises

FAA : Fonctions Automatiques de l Application. Les fonctions automatiques incluses dans vos applications développées avec

Notice d'utilisation Site Internet administrable à distance

DOCUMENTATION VISUALISATION UNIT

Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184. Frédéric BERTIN

GIMP. Le traitement d'images libre INSTALLATION SUR WINDOWS

Support pour les langues s écrivant de droite à gauche

Connecter le lecteur réseau de Pro-Cardex 3 Vérifier la version du gestionnaire de base de données 5 Procéder à l installation 6

AP1.1 : Montages électroniques élémentaires. Électricité et électronique

Le langage JAVA G. Baulieu Institut de Physique Nucléaire de Lyon Septembre 2009

TUTORIEL IMPRESS. Ouvrir Impress cocher «présentation vierge», «suivant» cocher «écran», «suivant» cocher «standard», «créer»

Introduction à Eclipse

Visio Kit. Mode d'emploi

Auto-évaluation Programmation en Java

Traitement par lot redimensionner des images

USAGE DU MODULE DE NEWSLETTER ACAJOOM

Logiciel de gestion pour restaurants et Bars

Fiche Mémo : Options d accessibilité sous Windows et Internet Explorer 5

Avant-propos FICHES PRATIQUES EXERCICES DE PRISE EN MAIN CAS PRATIQUES

Outlook Présentation.

Instructions Mozilla Thunderbird Page 1

Les tablettes et l'extranet Intermixt Mode d'emploi

Fiche aide pour votre messagerie Outlook, thunderbird, Gmail

Chapitre 1. Prise en main

Comment créer un diagramme de Gantt avec OpenOffice.org

Utiliser une tablette tactile Androïd

Modules Prestashop - ExportCatalogue / EXPORT IMPORT POUR MODIFICATIONS EN MASSE DANS PRESTASHOP VERSION Optim'Informatique

Atelier «personnaliser l environnement de l ordinateur mai 2015

Mini_guide_Isis.pdf le 23/09/2001 Page 1/14

Réalisez votre propre carte de vœux Éléctronique

MAILING KOMPOZER... 2 CREEZ UNE PAGE... 2 FORMAT DE LA PAGE... 2 AJOUTER DU TEXTE SUR UNE PAGE... 4

< Atelier 1 /> Démarrer une application web

Asset Management Software Client Module. Manuel d utilisation

Comment insérer une image de fond?

Uniformiser la mise en forme du document. Accélère les mises à jour. Permets de générer des tables de matières automatiquement.

Comment faire des étiquettes

OpenOffice.org Calc Ouvrir un classeur

Installation.Net Framework 2.0 pour les postes utilisant Windows 8/8.1.

Comment sauvegarder ses documents

Configurer la publication de votre site

Importation de fichiers Eagle

Manuel utilisateur du CMS Anan6

Documentation Utilisateur/Développeur. Client de Monitoring CamTrace

VIDEO RECORDING Accès à distance

eurobraille VOYONS ENSEMBLE MANUEL D'UTILISATION WIFI iris 40, 20 iris-s 32, 20 iris-kb 40,20 VERSION 1.82

Corrigé de l'atelier pratique du module 5 : Analyse de SQL Server

Découvrir la messagerie électronique et communiquer entre collègues. Entrer dans le programme Microsoft Outlook Web Access

Création et utilisation de formulaire pdf

OwnCloud. Définition 1 / 10. Date d'édition 03/09/2013 Public concerné Étudiants, Personnels Version du logiciel

Page 1 sur 5 TP3. Thèmes du TP : l la classe Object. l Vector<T> l tutorial Interfaces. l Stack<T>

Installation de GFI MailSecurity en mode passerelle

CREER UN PETIT SITE WEB EN COMPOSANT DES PAGES HTML

INTRODUCTION AUX TESTS CODES DE L INTERFACE UTILISATEUR

Transcription:

Programmation en Java Interface graphique

Toolkits graphiques Java AWT Obsolète Swing Supporté par Sun/Oracle Repose sur AWT mais Swing <> AWT, JBu@on<>Bu@on SWT libre, iniaé par IBM/Eclipse 2

Swing Your ApplicaAon Swing AWT Components Bu@on Frame ScrollBar... Windows Font Dialog Frame Color Graphics AWT AWT Event Tool Kit Accessibility Java 2D Drag and Drop JFC 3

Conteneurs de haut niveau Trois classes de conteneurs premier niveau (Top- Level Containers): ne sont pas des sous classes de JComponent. Ces objets doivent leur nom au fait qu'ils consltuent toujours les objets de base d'une interface Swing. Un conteneur de premier niveau peut contenir des objets d'une des sous- classes de JComponent, mais n'est pas deslné à être contenu dans un autre conteneur de premier niveau. Ce groupe comprend les applets (JApplet), les dialogues (JDialog), et les cadres (JFrame). 4

5

JFrame Constructeur JFrame() JFrame(String) Rôle CréaAon d'une instance en précisant le Atre 6

JComponent Dérive des classes (AWT) Component et Container Ajoute elle- même de nombreuses méthodes Offre donc de très nombreuses foncaonnalités qui sont héritées par tous les composants graphiques java.lang.object java.awt.component java.awt.container javax.swing.jcomponent 7

JComponent JComponent JColorChooser JComboBox JFileChooser JInternalFrame JLabel JList JMenuBar JOpAonPane JLayeredPane JDesktopPane JPanel JPopupMenu JProgressBar JRootPane JScrollBar JScrollPane JSeparator JSlider JSplitPane JTabbedPane JTable JTableHeader JToolBar JToolTip JTree JViewport JTextComponent JEditorPane JTextPane JTextArea JTextField JPasswordField AbstractBu@on JBu@on JMenuItem JCheckBox- MenuItem JRadioBu@on- MenuItem JMenu JToggleBu@on JRadioBu@on JCheckBox 8

Etiquettes : la classe JLabel Constructeurs JLabel() JLabel(Icon) JLabel(Icon, int) JLabel(String) JLabel(String, Icon, int) JLabel(String, int) Rôle Création d'une instance sans texte ni image Création d'une instance en précisant l'image Création d'une instance en précisant l'image et l'alignement horizontal Création d'une instance en précisant le texte Création d'une instance en précisant le texte, l'image et l'alignement horizontal Création d'une instance en précisant le texte et l'alignement horizontal 9

Méthodes settext(string text) setopaque(..) setbackground(...) setfont(...) setforeground(...) sethorizontalalignment(...) setverticalalignment(...) sethorizontaltextalignment(int alignment) setverticaltextalignment(int alignment) seticon(icon icon) setdisabledicon(icon disabledicon) Rôle Permet d'initialiser ou de modifier le texte affiché Indique si le composant est transparent (paramètre false) ou opaque (true) Indique la couleur de fond du composant (setopaque doit être à true) Permet de préciser la police du texte Permet de préciser la couleur du texte Permet de modifier l'alignement horizontal du texte et de l'icône Permet de modifier l'alignement vertical du texte et de l'icône Permet de modifier l'alignement horizontal du texte uniquement Permet de modifier l'alignement vertical du texte uniquement Permet d'assigner une icône Permet de définir l'icône associée au JLabel lorsqu'il est désactivé 10

Class JButton JCheckBox JRadioButton JMenuItem JCheckBoxMenuItem JRadioButtonMenuItem JToggleButton Summary A common button. A check box button. One of a group of radio buttons. An item in a menu. A menu item that has a check box. A menu item that has a radio button. Implements toggle functionality inherited by JCheckBox and JRadioButton. Can be instantiated or subclassed to create two-state buttons. 11

Boutons JComponent AbstractBu@on JBu@on JToggleBu@on JCheckBox JRadioBu@on 12

Bouton Peut contenir du texte (qui peut être du code HTML) mais aussi une image (et on peut choisir la posiaon relaave des 2) Le caractère souligné du texte indique le caractère mnémonique (pour simuler un clic avec le clavier) Un bouton peut être invalidé (texte en «gris» du bouton de droite) 13

Constructeur JButton() JButton(String) JButton(Icon) JButton(String, Icon) Rôle préciser le texte du bouton préciser une icône préciser un texte et une icône 14

HTML dans les boutons Les dernières versions de swing ont ajouté la possibilité d inclure du code HTML dans les labels et les boutons (tous les types de boutons) Inclure le texte dans les balises <html> et </html> : new JBuYon("<html>Ligne 1<p>Ligne 2</html>") 15

HTML dans les composants Swing Les composants suivants perme@ent l ualisaaon de texte HTML : JBu@on, JLabel, JMenuItem, JMenu, JRadioBu@onMenuItem, JCheckBoxMenuItem, JTabbedPane, JToolTip, JToggleBu@on, JCheckBox, and JRadioBu@on 16

Demo 17

ToggleButton Boutons qui ont 2 états : sélecaonnés ou pas Deux sous- classes CheckBox RadioBuYon 18

JCheckBox Constructeur JCheckBox(String) JCheckBox(String, boolean) JCheckBox(Icon) JCheckBox(Icon, boolean) JCheckBox(String, Icon) JCheckBox(String, Icon, boolean) Rôle précise l'intitulé précise l'intitulé et l'état spécifie l'icône utilisée précise l'intitulé et l'état du bouton précise l'intitulé et l'icône précise l'intitulé, une icône et l'état 19

Boîte à cocher: Traitement des événements Un clic sur un ToggleBu@on génère un AcAonEvent et un ItemEvent Avec une boîte à cocher, le plus simple est de traiter les ItemEvent avec un ItemListener Mais les boîtes à cocher n ont souvent pas d écouteurs et on relève leur valeur quand on en a besoin avec isselected() 20

Boîtes à cocher JCheckBox boite = new JCheckBox("Label"); boite.additemlistener(boiteitemlistener); // La boîte ne sera pas cochée boite.setselected(false);... // Récupère l'état de la boîte boolean on = boite.isselected(); 21

Boîtes à cocher: ItemListener class BoiteListener implements ItemListener { public void itemstatechanged(itemevent e) { Object source = e.getitemselectable(); if (source == boite) { } } } if (e.getstatechange() == ItemEvent.DESELECTED)... 22

AfJichage des boîtes à cocher Il faut ajouter toutes les boîtes à un container Le plus souvent un JPanel conaent les boîtes ; il est simple de les aligner horizontalement ou veracalement avec un GridLayout 23

JRadioButton Constructeur JRadioButton() JRadioButton(Icon) JRadioButton(Icon, boolean) JRadioButton(String) JRadioButton(String, boolean) JRadioButton(String, Icon) JRadioButton(String, Icon, boolean) Rôle Créer un bouton non sélectionné sans libellé Créer un bouton non sélectionné sans libellé avec l'icône fournie en paramètre Créer un bouton sans libellé avec l'icône et l'état fournis en paramètres Créer un bouton non sélectionné avec le libellé fourni en paramètre Créer un bouton avec le libellé et l'état fournis en paramètres Créer un bouton non sélectionné avec le libellé et l'icône fournis en paramètres Créer un bouton avec le libellé, l'icône et l'état fournis en paramètres 24

ButtonGroup Un groupe de boutons radio est encapsulé dans un objet de type BuYonGroup. Ajouter tous les JRadioBuYon du groupe en ualisant la méthode add() de la classe BuYonGroup. Pour désélecaonner tous les boutons: Appeler la méthode clearseleclon() 25

Exemple: boutons radios ButtonGroup groupe = new ButtonGroup(); JRadioButton b1 = new JRadioButton("Choix 1"); JRadioButton b2 = new JRadioButton("Choix 2"); groupe.add(b1); groupe.add(b2); panel.add(b1); panel.add(b2); 26

Bouton radio: Traitement des événements Le plus simple est d écouter avec un AcAonListener Cet événement est engendré quand le bouton radio est sélecaonné (pas quand il est désélecaonné) L ualisaaon d un ItemListener serait plus complexe car la sélecaon d un bouton du groupe désélecaonne tous les autres et engendre donc un grand nombre de ItemEvent 27

Boutons radio // Le groupe de boutons ButtonGroup group = new ButtonGroup(); // Les boutons JRadioButton b1 = new JRadioButton("Label1"); b1.setselected(true); // Sélectionne le bouton JRadioButton b2 = new JRadioButton("Label2"); // Ajoute les boutons au groupe group.add(b1);... // Ajoute les boutons dans l'interface graphique panel.add(b1);... // Ajoute les actionlisteners ; les "actioncommands" // peuvent différencier les boutons dans les listeners b1.setactioncommand("label1");... b1.addactionlistener(boutonlistener);... 28

Question? 29