Top Banner
Java Swing Daniel Porumbel [email protected] nombreaux slides dus à Pierre Cubaud 1/2
16

Java Swing - cedric.cnam.frcedric.cnam.fr/~porumbed/20162017/vari1/c10Java.pdf · - un paquetage est une collection de classes utiles pour d'autres programmes - biblioth que (library)

Sep 12, 2018

Download

Documents

hakiet
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Java Swing - cedric.cnam.frcedric.cnam.fr/~porumbed/20162017/vari1/c10Java.pdf · - un paquetage est une collection de classes utiles pour d'autres programmes - biblioth que (library)

Java Swing

Daniel [email protected]

nombreaux slides dus àPierre Cubaud

1/2

Page 2: Java Swing - cedric.cnam.frcedric.cnam.fr/~porumbed/20162017/vari1/c10Java.pdf · - un paquetage est une collection de classes utiles pour d'autres programmes - biblioth que (library)
Page 3: Java Swing - cedric.cnam.frcedric.cnam.fr/~porumbed/20162017/vari1/c10Java.pdf · - un paquetage est une collection de classes utiles pour d'autres programmes - biblioth que (library)

même nom et respect de la casse

Page 4: Java Swing - cedric.cnam.frcedric.cnam.fr/~porumbed/20162017/vari1/c10Java.pdf · - un paquetage est une collection de classes utiles pour d'autres programmes - biblioth que (library)

Reprise d'un ancien code : inversion du contenu d'un tableau (exo5 de la séance de révision)

le code exo5.pde le code exo5.java

Page 5: Java Swing - cedric.cnam.frcedric.cnam.fr/~porumbed/20162017/vari1/c10Java.pdf · - un paquetage est une collection de classes utiles pour d'autres programmes - biblioth que (library)

Exécution :

Que se passe-t'il ?

Comment y remédier ?

Page 6: Java Swing - cedric.cnam.frcedric.cnam.fr/~porumbed/20162017/vari1/c10Java.pdf · - un paquetage est une collection de classes utiles pour d'autres programmes - biblioth que (library)

Les paquetages (package)

- un paquetage est une collection de classes utiles pour d'autres programmes

- bibliothèque (library) : notion importante très ancienne qui remonte à Babbage !

- support dans quasi tous les langages de programmation) mais pas vraiment standardisé dans les langages avant Ada

- interopérabilité entre langages encore difficile => wrappers

- les librairies traduisent / amplifient le succès d'un langage

Page 7: Java Swing - cedric.cnam.frcedric.cnam.fr/~porumbed/20162017/vari1/c10Java.pdf · - un paquetage est une collection de classes utiles pour d'autres programmes - biblioth que (library)

Un exemple parmi plein : le paquetage random

http://docs.oracle.com/javase/7/docs/api/java/util/Random.html

sa doc en ligne :

Rque : créer ses propres packages => dernier cours

ouimport java.util.*

Page 8: Java Swing - cedric.cnam.frcedric.cnam.fr/~porumbed/20162017/vari1/c10Java.pdf · - un paquetage est une collection de classes utiles pour d'autres programmes - biblioth que (library)

houla!!multi-tâche(à voirplus tard)

Page 9: Java Swing - cedric.cnam.frcedric.cnam.fr/~porumbed/20162017/vari1/c10Java.pdf · - un paquetage est une collection de classes utiles pour d'autres programmes - biblioth que (library)

version plus simple (mais naïve)

le labelest rangépar défaut dans lecontentPanede la frame(depuis java 1.6)

(+ autres versions avec héritage, à voir plus tard)

Page 10: Java Swing - cedric.cnam.frcedric.cnam.fr/~porumbed/20162017/vari1/c10Java.pdf · - un paquetage est une collection de classes utiles pour d'autres programmes - biblioth que (library)

Organisation des écrans (layout)

Pour éviter de calculer des coordonnées exactespour les composants, on utilise des organisations "automatiques"

http://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html

Page 11: Java Swing - cedric.cnam.frcedric.cnam.fr/~porumbed/20162017/vari1/c10Java.pdf · - un paquetage est une collection de classes utiles pour d'autres programmes - biblioth que (library)

http://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html

autres exemples

Page 12: Java Swing - cedric.cnam.frcedric.cnam.fr/~porumbed/20162017/vari1/c10Java.pdf · - un paquetage est une collection de classes utiles pour d'autres programmes - biblioth que (library)

Imbrication des containers (avec des layouts adaptés)

jpanelavecFlowLayoutvertical

jpanelavec FlowLayout

jpanelavecGridLayout

jpanelavec FlowLayout

content paneavec BorderLayoutet EAST vide

Page 13: Java Swing - cedric.cnam.frcedric.cnam.fr/~porumbed/20162017/vari1/c10Java.pdf · - un paquetage est une collection de classes utiles pour d'autres programmes - biblioth que (library)

Gestion des évènements utilisateur

- chaque action de l'utilisateur se traduit par un event. Uncomposant peut en être notifié (listener) et en propager

- à chaque composant, on associe une action pour rendrece composant utile à quelque chose

- il faut gérer la correspondance entre les events et les actions(très vieux problème des interfaces graphiques)

- avec Swing, il y a de très (trop ?) nombreuses manières de procéder, selon la complexité des interactions dans l'application

Page 14: Java Swing - cedric.cnam.frcedric.cnam.fr/~porumbed/20162017/vari1/c10Java.pdf · - un paquetage est une collection de classes utiles pour d'autres programmes - biblioth que (library)

Exemple avec des boutons

le bouton va rapporterà gestionEvt

Page 15: Java Swing - cedric.cnam.frcedric.cnam.fr/~porumbed/20162017/vari1/c10Java.pdf · - un paquetage est une collection de classes utiles pour d'autres programmes - biblioth que (library)

Avec au début du code

Execution :

ici l'action

Page 16: Java Swing - cedric.cnam.frcedric.cnam.fr/~porumbed/20162017/vari1/c10Java.pdf · - un paquetage est une collection de classes utiles pour d'autres programmes - biblioth que (library)

Lecture Terminal

�c lass Lecture {

p u b l i c s t a t i c vo id main ( S t r i n g [ ] args ) {java . u t i l . Scanner scnr =

new java . u t i l . Scanner ( System . i n ) ;i n t unEnt ie r ;unEnt ie r = scnr . n e x t I n t ( ) ;System . out . p r i n t l n ( unEnt ie r ) ;

}}� �

2/2