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