Programmation des interfaces graphiques en Java

Transcription

Programmation des interfaces graphiques en Java
Programmation des interfaces graphiques en Java :
présentation générale
Jean-Baptiste Vioix
([email protected])
IUT de Dijon-Auxerre - LE2I
http://jb.vioix.free.fr
1-8
Historique
Les débuts : AWT
Les débuts de Java
Sun propose la première version de Java (1.0) en 1995 (23/05/95...
Windows 95 le 14/08/95) .
Le but de Java est : ”Write once, run anywhere”. Pour cela, le code
est interprété par une machine virtuelle (JVM) qui dépend du système
d’exploitation.
A cette époque, les interfaces graphiques sont déjà très répandues.
Java doit donc proposer une bibliothèque qui permet de construire
des GUIs.
La première tentative s’appelle AWT : Abstract Windows Toolkit.
http://jb.vioix.free.fr
2-8
Historique
Les débuts : AWT
Les débuts de Java
Sun propose la première version de Java (1.0) en 1995 (23/05/95...
Windows 95 le 14/08/95) .
Le but de Java est : ”Write once, run anywhere”. Pour cela, le code
est interprété par une machine virtuelle (JVM) qui dépend du système
d’exploitation.
A cette époque, les interfaces graphiques sont déjà très répandues.
Java doit donc proposer une bibliothèque qui permet de construire
des GUIs.
La première tentative s’appelle AWT : Abstract Windows Toolkit.
http://jb.vioix.free.fr
2-8
Historique
Les débuts : AWT
Les débuts de Java
Sun propose la première version de Java (1.0) en 1995 (23/05/95...
Windows 95 le 14/08/95) .
Le but de Java est : ”Write once, run anywhere”. Pour cela, le code
est interprété par une machine virtuelle (JVM) qui dépend du système
d’exploitation.
A cette époque, les interfaces graphiques sont déjà très répandues.
Java doit donc proposer une bibliothèque qui permet de construire
des GUIs.
La première tentative s’appelle AWT : Abstract Windows Toolkit.
http://jb.vioix.free.fr
2-8
Historique
Les débuts : AWT
Les débuts de Java
Sun propose la première version de Java (1.0) en 1995 (23/05/95...
Windows 95 le 14/08/95) .
Le but de Java est : ”Write once, run anywhere”. Pour cela, le code
est interprété par une machine virtuelle (JVM) qui dépend du système
d’exploitation.
A cette époque, les interfaces graphiques sont déjà très répandues.
Java doit donc proposer une bibliothèque qui permet de construire
des GUIs.
La première tentative s’appelle AWT : Abstract Windows Toolkit.
http://jb.vioix.free.fr
2-8
Historique
Les débuts : AWT
Les débuts de Java
Sun propose la première version de Java (1.0) en 1995 (23/05/95...
Windows 95 le 14/08/95) .
Le but de Java est : ”Write once, run anywhere”. Pour cela, le code
est interprété par une machine virtuelle (JVM) qui dépend du système
d’exploitation.
A cette époque, les interfaces graphiques sont déjà très répandues.
Java doit donc proposer une bibliothèque qui permet de construire
des GUIs.
La première tentative s’appelle AWT : Abstract Windows Toolkit.
http://jb.vioix.free.fr
2-8
Historique
Les débuts : AWT
La bibliothèque AWT - 1
AWT utilise un système de pairs (peers) pour construire les interfaces
graphiques.
Les composants de AWT sont des ”reflets” des composants du
système d’exploitation (”composants lourds”).
Le système d’exploitation est chargé d’afficher les composants.
Les composants sont des objets Java héritiers de la classe Component.
Le package java.awt contient tous les élèments de AWT.
http://jb.vioix.free.fr
3-8
Historique
Les débuts : AWT
La bibliothèque AWT - 1
AWT utilise un système de pairs (peers) pour construire les interfaces
graphiques.
Les composants de AWT sont des ”reflets” des composants du
système d’exploitation (”composants lourds”).
Le système d’exploitation est chargé d’afficher les composants.
Les composants sont des objets Java héritiers de la classe Component.
Le package java.awt contient tous les élèments de AWT.
http://jb.vioix.free.fr
3-8
Historique
Les débuts : AWT
La bibliothèque AWT - 1
AWT utilise un système de pairs (peers) pour construire les interfaces
graphiques.
Les composants de AWT sont des ”reflets” des composants du
système d’exploitation (”composants lourds”).
Le système d’exploitation est chargé d’afficher les composants.
Les composants sont des objets Java héritiers de la classe Component.
Le package java.awt contient tous les élèments de AWT.
http://jb.vioix.free.fr
3-8
Historique
Les débuts : AWT
La bibliothèque AWT - 1
AWT utilise un système de pairs (peers) pour construire les interfaces
graphiques.
Les composants de AWT sont des ”reflets” des composants du
système d’exploitation (”composants lourds”).
Le système d’exploitation est chargé d’afficher les composants.
Les composants sont des objets Java héritiers de la classe Component.
Le package java.awt contient tous les élèments de AWT.
http://jb.vioix.free.fr
3-8
Historique
Les débuts : AWT
La bibliothèque AWT - 1
AWT utilise un système de pairs (peers) pour construire les interfaces
graphiques.
Les composants de AWT sont des ”reflets” des composants du
système d’exploitation (”composants lourds”).
Le système d’exploitation est chargé d’afficher les composants.
Les composants sont des objets Java héritiers de la classe Component.
Le package java.awt contient tous les élèments de AWT.
http://jb.vioix.free.fr
3-8
Historique
Les débuts : AWT
La bibliothèque AWT - 2
AWT permettait de construire des interfaces graphiques ”à peu près”
portables...
En effet, le principe des pairs limite le nombre de composants
possibles (certains composants existent sur une architecture mais par
sur une autre)
Le principe des pairs est gourmand en ressources et donc lent.
Toutefois, AWT proposait des idées intéressantes comme les
gestionnaires de placement, les gestionnaires d’évènements,...
http://jb.vioix.free.fr
4-8
Historique
Les débuts : AWT
La bibliothèque AWT - 2
AWT permettait de construire des interfaces graphiques ”à peu près”
portables...
En effet, le principe des pairs limite le nombre de composants
possibles (certains composants existent sur une architecture mais par
sur une autre)
Le principe des pairs est gourmand en ressources et donc lent.
Toutefois, AWT proposait des idées intéressantes comme les
gestionnaires de placement, les gestionnaires d’évènements,...
http://jb.vioix.free.fr
4-8
Historique
Les débuts : AWT
La bibliothèque AWT - 2
AWT permettait de construire des interfaces graphiques ”à peu près”
portables...
En effet, le principe des pairs limite le nombre de composants
possibles (certains composants existent sur une architecture mais par
sur une autre)
Le principe des pairs est gourmand en ressources et donc lent.
Toutefois, AWT proposait des idées intéressantes comme les
gestionnaires de placement, les gestionnaires d’évènements,...
http://jb.vioix.free.fr
4-8
Historique
Les débuts : AWT
La bibliothèque AWT - 2
AWT permettait de construire des interfaces graphiques ”à peu près”
portables...
En effet, le principe des pairs limite le nombre de composants
possibles (certains composants existent sur une architecture mais par
sur une autre)
Le principe des pairs est gourmand en ressources et donc lent.
Toutefois, AWT proposait des idées intéressantes comme les
gestionnaires de placement, les gestionnaires d’évènements,...
http://jb.vioix.free.fr
4-8
Historique
La maturité : Swing
L’évolution de AWT
En 1998 Sun propose Java 1.2 (”Java 2”), une nouvelle bibliothèque
de construction d’interfaces graphiques est ajoutée : Swing.
Reprenant les éléments intéressants de AWT, elle propose une
approche totalement différente pour la gestion des composants.
Le mécanisme de pairs est abandonné, les composants sont gérés par
la JVM ce qui assure une légèreté et une rapidité du système.
Seuls quatre éléments restent ”lourds” par nécessite.
http://jb.vioix.free.fr
5-8
Historique
La maturité : Swing
L’évolution de AWT
En 1998 Sun propose Java 1.2 (”Java 2”), une nouvelle bibliothèque
de construction d’interfaces graphiques est ajoutée : Swing.
Reprenant les éléments intéressants de AWT, elle propose une
approche totalement différente pour la gestion des composants.
Le mécanisme de pairs est abandonné, les composants sont gérés par
la JVM ce qui assure une légèreté et une rapidité du système.
Seuls quatre éléments restent ”lourds” par nécessite.
http://jb.vioix.free.fr
5-8
Historique
La maturité : Swing
L’évolution de AWT
En 1998 Sun propose Java 1.2 (”Java 2”), une nouvelle bibliothèque
de construction d’interfaces graphiques est ajoutée : Swing.
Reprenant les éléments intéressants de AWT, elle propose une
approche totalement différente pour la gestion des composants.
Le mécanisme de pairs est abandonné, les composants sont gérés par
la JVM ce qui assure une légèreté et une rapidité du système.
Seuls quatre éléments restent ”lourds” par nécessite.
http://jb.vioix.free.fr
5-8
Historique
La maturité : Swing
L’évolution de AWT
En 1998 Sun propose Java 1.2 (”Java 2”), une nouvelle bibliothèque
de construction d’interfaces graphiques est ajoutée : Swing.
Reprenant les éléments intéressants de AWT, elle propose une
approche totalement différente pour la gestion des composants.
Le mécanisme de pairs est abandonné, les composants sont gérés par
la JVM ce qui assure une légèreté et une rapidité du système.
Seuls quatre éléments restent ”lourds” par nécessite.
http://jb.vioix.free.fr
5-8
Historique
La maturité : Swing
L’évolution de AWT
En 1998 Sun propose Java 1.2 (”Java 2”), une nouvelle bibliothèque
de construction d’interfaces graphiques est ajoutée : Swing.
Reprenant les éléments intéressants de AWT, elle propose une
approche totalement différente pour la gestion des composants.
Le mécanisme de pairs est abandonné, les composants sont gérés par
la JVM ce qui assure une légèreté et une rapidité du système.
Seuls quatre éléments restent ”lourds” par nécessite.
http://jb.vioix.free.fr
5-8
Historique
La maturité : Swing
La bibliothèque Swing - 1
La construction d’une application se fait en quatre parties :
Construction des composants : on appelle le constructeur pour créer le
composant, puis on le personnalise à l’aide de différentes méthodes
Ajout des composants à un conteneur : les composants sont placés
dans un conteneur, c’est un composant capable d’en accueillir d’autres
(comme une fenêtre).
Placement des composants : les composants sont rarement placés de
manière absolue, on préfère utiliser un gestionnaire de placement pour
obtenir un affichage cohérent sur tous les systèmes.
Gestion des évènements : les évènements sont des objets qui transitent
pour représenter les actions de l’utilisateur. Les auditeurs d’évènements
les traitent pour modifier le comportement de l’application.
http://jb.vioix.free.fr
6-8
Historique
La maturité : Swing
La bibliothèque Swing - 1
La construction d’une application se fait en quatre parties :
Construction des composants : on appelle le constructeur pour créer le
composant, puis on le personnalise à l’aide de différentes méthodes
Ajout des composants à un conteneur : les composants sont placés
dans un conteneur, c’est un composant capable d’en accueillir d’autres
(comme une fenêtre).
Placement des composants : les composants sont rarement placés de
manière absolue, on préfère utiliser un gestionnaire de placement pour
obtenir un affichage cohérent sur tous les systèmes.
Gestion des évènements : les évènements sont des objets qui transitent
pour représenter les actions de l’utilisateur. Les auditeurs d’évènements
les traitent pour modifier le comportement de l’application.
http://jb.vioix.free.fr
6-8
Historique
La maturité : Swing
La bibliothèque Swing - 1
La construction d’une application se fait en quatre parties :
Construction des composants : on appelle le constructeur pour créer le
composant, puis on le personnalise à l’aide de différentes méthodes
Ajout des composants à un conteneur : les composants sont placés
dans un conteneur, c’est un composant capable d’en accueillir d’autres
(comme une fenêtre).
Placement des composants : les composants sont rarement placés de
manière absolue, on préfère utiliser un gestionnaire de placement pour
obtenir un affichage cohérent sur tous les systèmes.
Gestion des évènements : les évènements sont des objets qui transitent
pour représenter les actions de l’utilisateur. Les auditeurs d’évènements
les traitent pour modifier le comportement de l’application.
http://jb.vioix.free.fr
6-8
Historique
La maturité : Swing
La bibliothèque Swing - 1
La construction d’une application se fait en quatre parties :
Construction des composants : on appelle le constructeur pour créer le
composant, puis on le personnalise à l’aide de différentes méthodes
Ajout des composants à un conteneur : les composants sont placés
dans un conteneur, c’est un composant capable d’en accueillir d’autres
(comme une fenêtre).
Placement des composants : les composants sont rarement placés de
manière absolue, on préfère utiliser un gestionnaire de placement pour
obtenir un affichage cohérent sur tous les systèmes.
Gestion des évènements : les évènements sont des objets qui transitent
pour représenter les actions de l’utilisateur. Les auditeurs d’évènements
les traitent pour modifier le comportement de l’application.
http://jb.vioix.free.fr
6-8
Historique
La maturité : Swing
La bibliothèque Swing - 1
La construction d’une application se fait en quatre parties :
Construction des composants : on appelle le constructeur pour créer le
composant, puis on le personnalise à l’aide de différentes méthodes
Ajout des composants à un conteneur : les composants sont placés
dans un conteneur, c’est un composant capable d’en accueillir d’autres
(comme une fenêtre).
Placement des composants : les composants sont rarement placés de
manière absolue, on préfère utiliser un gestionnaire de placement pour
obtenir un affichage cohérent sur tous les systèmes.
Gestion des évènements : les évènements sont des objets qui transitent
pour représenter les actions de l’utilisateur. Les auditeurs d’évènements
les traitent pour modifier le comportement de l’application.
http://jb.vioix.free.fr
6-8
Historique
La maturité : Swing
La bibliothèque Swing - 2
Evenements
Classe graphique :
Auditeurs
d’evenements
Composants,
Conteneur,
Gestionnaire de positon, ...
Methode d’acces
Classe applicative
Une application graphique Swing
http://jb.vioix.free.fr
7-8
Historique
La maturité : Swing
La bibliothèque Swing - 3
En Java, la relation entre le langage et l’API graphique est très intime.
La plupart des interfaces graphiques peuvent être programmées avec
différents langages :
L’API Windows peut être programmée en C++ (Visual C++, Borland
C++Builder), en Pascal (Borland Delphi), en Basic (Visual Basic),...
GTK/GTK+ peut être programmé en C/C++, en Perl, en ADA, en
PHP, ...
Swing ne peut être programmé qu’en Java et profite donc au
maximum des avantages de ce langage.
Les composants Swing sont groupés dans le package javax.swing et
leurs noms commencent par J.
http://jb.vioix.free.fr
8-8
Historique
La maturité : Swing
La bibliothèque Swing - 3
En Java, la relation entre le langage et l’API graphique est très intime.
La plupart des interfaces graphiques peuvent être programmées avec
différents langages :
L’API Windows peut être programmée en C++ (Visual C++, Borland
C++Builder), en Pascal (Borland Delphi), en Basic (Visual Basic),...
GTK/GTK+ peut être programmé en C/C++, en Perl, en ADA, en
PHP, ...
Swing ne peut être programmé qu’en Java et profite donc au
maximum des avantages de ce langage.
Les composants Swing sont groupés dans le package javax.swing et
leurs noms commencent par J.
http://jb.vioix.free.fr
8-8
Historique
La maturité : Swing
La bibliothèque Swing - 3
En Java, la relation entre le langage et l’API graphique est très intime.
La plupart des interfaces graphiques peuvent être programmées avec
différents langages :
L’API Windows peut être programmée en C++ (Visual C++, Borland
C++Builder), en Pascal (Borland Delphi), en Basic (Visual Basic),...
GTK/GTK+ peut être programmé en C/C++, en Perl, en ADA, en
PHP, ...
Swing ne peut être programmé qu’en Java et profite donc au
maximum des avantages de ce langage.
Les composants Swing sont groupés dans le package javax.swing et
leurs noms commencent par J.
http://jb.vioix.free.fr
8-8
Historique
La maturité : Swing
La bibliothèque Swing - 3
En Java, la relation entre le langage et l’API graphique est très intime.
La plupart des interfaces graphiques peuvent être programmées avec
différents langages :
L’API Windows peut être programmée en C++ (Visual C++, Borland
C++Builder), en Pascal (Borland Delphi), en Basic (Visual Basic),...
GTK/GTK+ peut être programmé en C/C++, en Perl, en ADA, en
PHP, ...
Swing ne peut être programmé qu’en Java et profite donc au
maximum des avantages de ce langage.
Les composants Swing sont groupés dans le package javax.swing et
leurs noms commencent par J.
http://jb.vioix.free.fr
8-8
Historique
La maturité : Swing
La bibliothèque Swing - 3
En Java, la relation entre le langage et l’API graphique est très intime.
La plupart des interfaces graphiques peuvent être programmées avec
différents langages :
L’API Windows peut être programmée en C++ (Visual C++, Borland
C++Builder), en Pascal (Borland Delphi), en Basic (Visual Basic),...
GTK/GTK+ peut être programmé en C/C++, en Perl, en ADA, en
PHP, ...
Swing ne peut être programmé qu’en Java et profite donc au
maximum des avantages de ce langage.
Les composants Swing sont groupés dans le package javax.swing et
leurs noms commencent par J.
http://jb.vioix.free.fr
8-8
Historique
La maturité : Swing
La bibliothèque Swing - 3
En Java, la relation entre le langage et l’API graphique est très intime.
La plupart des interfaces graphiques peuvent être programmées avec
différents langages :
L’API Windows peut être programmée en C++ (Visual C++, Borland
C++Builder), en Pascal (Borland Delphi), en Basic (Visual Basic),...
GTK/GTK+ peut être programmé en C/C++, en Perl, en ADA, en
PHP, ...
Swing ne peut être programmé qu’en Java et profite donc au
maximum des avantages de ce langage.
Les composants Swing sont groupés dans le package javax.swing et
leurs noms commencent par J.
http://jb.vioix.free.fr
8-8