Scène de théatre. Interfaces graphiques en Java. Scène de théatre. Architecture (1) Application. Stage. Scene. Group AWT -> SWING -> JAVAFX

Documents pareils
Interfaces graphiques avec l API Swing

Java 7 Les fondamentaux du langage Java

Plan du cours. Historique du langage Nouveautés de Java 7

Desktop Intégration. Rémi Forax

Développement Logiciel

Java Licence Professionnelle Cours 7 : Classes et méthodes abstraites

Auto-évaluation Programmation en Java

IFT287 Exploitation de base de données relationnelles et orientées objet. Laboratoire Mon premier programme Java en Eclipse

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

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Corrigé des exercices sur les références

Programmation par les Objets en Java

Applet pour visualiser les variables «automate» notifiées

ACTIVITÉ DE PROGRAMMATION

TP SIN Programmation sur androïde Support : eclipse

TD Objets distribués n 3 : Windows XP et Visual Studio.NET. Introduction à.net Remoting

Synchro et Threads Java TM

Remote Method Invocation Les classes implémentant Serializable

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

RMI. Remote Method Invocation: permet d'invoquer des méthodes d'objets distants.

Introduction au langage Java

Construire des plug-ins pour SAS Management Console SAS 9.1

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.

Généralités sur le Langage Java et éléments syntaxiques.

Package Java.util Classe générique

Table des matières Introduction Démarrage Les composants graphiques... 26

Remote Method Invocation (RMI)

Ingénierie Dirigée par les Modèles. Editeurs de modèles. (Eclipse Modeling Tools) Jean-Philippe Babau

TP Composants Java ME - Java EE. Le serveur GereCompteBancaireServlet

Création d'une interface graphique

API04 Contribution. Apache Hadoop: Présentation et application dans le domaine des Data Warehouses. Introduction. Architecture

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

Initiation à JAVA et à la programmation objet.

Projet de programmation (IK3) : TP n 1 Correction

Publication Assistée par Ordinateur

RMI le langage Java XII-1 JMF

Cours 2 : programmation des interfaces graphiques

Programmation Objet Java Correction

Manipuler fichiers et dossiers

Calcul Parallèle. Cours 5 - JAVA RMI

La base de données XML exist. A. Belaïd

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr

ndv access point : Utilisation

as Architecture des Systèmes d Information

Objets et Programmation. origine des langages orientés-objet

Threads. Threads. USTL routier 1

Héritage presque multiple en Java (1/2)

JAVA TD0. Prise en main du langage Environnement de base JAVA 1

Derrière toi Une machine virtuelle!

Dans l idéal, ceci devrait être fait en amont pour chaque image envoyée sur l espace de stockage de votre site internet.

PAGE 1. L écran du logiciel d Open Office Draw. Barre de menu: Les commandes du logiciel

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Environnements de développement (intégrés)

QUELQUES ÉLÉMENTS DU DÉVELOPPEMENT LOGICIEL

FLEX 3. Applications Internet riches avec Flash ActionScript 3, MXML et Flex Builder. Aurélien Vannieuwenhuyze

Par Laurent DESECHALLIERS. Mastère Spécialisé en Management de Projets en Milieu Industriel. CESI de Rouen Promotion 2002/2003.

Projet Active Object

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Tutorial pour une application simple

Programmer en JAVA. par Tama

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

Java Licence Professionnelle CISII, Cours 2 : Classes et Objets

Comment réaliser une capture d écran dans Word. Alors comment ouvrir une page Word?

Programmation Réseau. Sécurité Java. UFR Informatique jeudi 4 avril 13

ETUDE ET IMPLÉMENTATION D UNE CACHE L2 POUR MOBICENTS JSLEE

Prendre le marteau, le tableau, le mètre, le crayon, la ficelle, le clou, la pointe ;

Java Licence Professionnelle CISII,

Chapitre 10. Les interfaces Comparable et Comparator 1

Atelier Travailler vos photos Mars 2015

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

Corrigés des premiers exercices sur les classes

GUIDE UTILISATEUR SYSTEMES CCTV

Traitement de données

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

Cours 1: Java et les objets

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

OpenPaaS Le réseau social d'entreprise

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

RAPPORT DE STAGE GWT PRISE EN MAIN SERVLET - TEST DES DAO TELOSYS PLUGIN ECLIPSE WIZARD DATASET TELOSYS

Silhouette Studio Leçon N 2

Programme Compte bancaire (code)

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

TP, première séquence d exercices.

Contre exemple de présentation

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

P r ob lé m a t iq u e d e la g é n é r icit é. Pr in cip e d e la g é n é r icit é e n Ja v a ( 1 /3 )

Tutoriel d installation de Hibernate avec Eclipse

Anne Tasso. Java. Le livre de. premier langage. 6 e édition. Groupe Eyrolles, 2000, 2002, 2005, 2006, 2008, 2010, ISBN :

Gestion distribuée (par sockets) de banque en Java

Flux de données Lecture/Ecriture Fichiers

TD3: tableaux avancées, première classe et chaînes

Programmation avec des objets : Cours 7. Menu du jour

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2

Chapitre V. Les classes : Object, Vector, etc.

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

Premier cours d informatique

TP1 : Initiation à Java et Eclipse

Création d une application JEE

Présentation de la plateforme WINDCHILL. Invitation à rejoindre la plateforme

Utilisation de l éditeur.

Transcription:

Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Interfaces graphiques en Java Master 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin Scène de théatre AWT -> SWING -> JAVAFX Allégorie du théatre : Théatre = application = Stage Scène = fenetre = Scene Acteurs = objets graphiques Scène de théatre Architecture (1) Application Stage Scene Group Top Level Container menubar panel menu menuitem

Application Panel Contient les composants Architecture (2) Layout Agence les composants (taille, position) Layout (1) Objectif : Dispose les composants visuels Disposition formatée Prise en compte du redimensionnement Différents types : BorderPane Hbox Vbox StackPane GridPane FlowPane TilePane AnchorPane Layout (2) Exemple : public ChangeInstru() GridPane gridpane = new GridPane(); ImageView piano = new ImageView(new Image("images/piano.png")); piano.setfitheight(50); piano.setpreserveratio(true); ImageView guitare = new ImageView(new Image("images/guitare.png")); guitare.setfitheight(50); guitare.setpreserveratio(true); ImageView orgue = new ImageView(new Image("images/orgue.png")); orgue.setfitheight(50); orgue.setpreserveratio(true); gridpane.add(piano, 1, 0); gridpane.add(guitare, 1, 1); gridpane.add(orgue, 1, 2); gridpane.setvgap(15); this.getchildren().add(gridpane); Layout (3) Exemple : public FlowPane addflowpane() FlowPane flow = new FlowPane(); flow.setpadding(new Insets(5, 0, 5, 0)); flow.setvgap(4); flow.sethgap(4); flow.setprefwraplength(170); flow.setstyle("-fx-background-color: DAE6F3;"); ImageView pages[] = new ImageView[8]; for (int i=0; i<8; i++) pages[i] = new ImageView( new Image("graphics/chart_"+(i+1)+".png")); flow.getchildren().add(pages[i]); return flow;

Layout (4) Exemple : Graphiques, effets GaussianBlur BorderPane border = new BorderPane(); HBox hbox = addhbox() addstackpane(hbox) border.settop(hbox); border.setleft(addvbox()); border.setcenter(addgridpane()); border.setright(addflowpane()); InnerShadow (pour l exemple complet, voir http://docs.oracle.com/javafx/2/layout/builtin_layouts.htm) Reflection SepiaTone Transformations Ma première interface (1) Rectangle rect=new Rectangle(0,0,60,60); rect.setfill(color.dodgerblue); rect.setarcwidth(10); rect.setarcheight(10); rect.setrotate(45); rect.setscalex(2); rect.setscaley(0.5); Shear shear = new Shear(0.7, 0); rect.gettransforms().add(shear); rect.settranslatex(40); rect.settranslatey(10);

Ma première interface (2) Ma première interface (3) GridPane MenuBar HBox Text Menu Menu Label + TextField + Bouton public class MaFenetre extends Application public Scene construitscene() public void start(stage primarystage) mystage = primarystage; primarystage.settitle("ma première fenêtre"); primarystage.setscene(construitscene()); primarystage.sizetoscene(); primarystage.show(); public static void main(string[] args) launch(args); Ma première interface (4) Text text = new Text("Mon premier texte"); Separator separator = new Separator(); public Scene construitscene() GridPane grid = new GridPane(); MenuBar menubar = new MenuBar(); Menu menu1 = new Menu("Menu1"); Menu menu2 = new Menu("Menu2"); menubar.getmenus().addall(menu1,menu2); MenuItem menuitem1 = new MenuItem("MenuItem1"); menu1.getitems().addall(menuitem1,new MenuItem("MenuItem2")); Label label = new Label("Label: "); TextField textfield = new TextField(); textfield.setprompttext("champ texte"); button1 = new Button("Bouton1"); button1.settext("bouton"); HBox hbox = new HBox(5); hbox.getchildren().addall(label, textfield, button1); GridPane.setConstraints(menuBar, 0, 0); grid.getchildren().add(menubar); GridPane.setConstraints(hBox, 0, 1); grid.getchildren().add(hbox); GridPane.setConstraints(separator, 0, 2); grid.getchildren().add(separator); GridPane.setConstraints(text, 0, 3); grid.getchildren().add(text); StackPane root = new StackPane(); root.getchildren().addall(grid); Scene scene = new Scene(root, 500, 300); Scene scene = new Scene(root); return scene;

Gestion des événements (1) Définition : Message à destination de l'application : Existence d'une action Informations spécifiques à l'action Provenant soit d'une action utilisateur (saisie clavier, click souris, ). de l'application elle-même (exécution d'un Timer). Gestion des événements (2) Mécanisme : Action Event Listener Réponse Trois types d'objets: L objet qui reçoit l'événement (Button par exemple) L'événement en lui même (Event) L'objet qui traite cet événement (Listener) (notre Application, par ex.) Gestion des événements (3) spécifie : ce qu il doit attendre qui il doit prévenir si l évènement se produit. Button buttonok = new Button( OK ); Button.setOnAction(this); écoute les actions si une action arrive, envoie-la à this. Note : this référence la classe en cours (comme super la classe mère). Dans notre cas, this référence notre Application. Gestion des événements (4) L objet qui traite l évènement : - implémente le listener correspondant à l évènement, - traite l évènement. Par exemple : public class MaFenetre extends Application implements EventHandler<ActionEvent>... public void handle(actionevent event) System.out.println( Action!");

Gestion des événements (5) Gestion des événements (7) Ou directement : Différents types d événements :... button1.setonaction(this); button1.setonaction(new EventHandler<ActionEvent>() public void handle(actionevent event) System.out.println("Pour gérer l'événement directement!"); ); Références JFX Documentation : http://docs.oracle.com/javafx/ Présentation de Simon Ritter, JavaFX: Java's new Rich Client Platform Sur OpenClassRoom : http://fr.openclassrooms.com/informatique/cours/lesapplications-web-avec-javafx/ JavaFX-Dialogs : http://edu.makery.ch/blog/2012/10/30/javafx-2-dialogs/