Iremia, R.Courdier
03/27/99 1
© Rémy Courdier 11996-2007 - Java AWT SWING - Version du cours 2.10
Chapitre 4 : AWT - SWING
Interface Homme Machine
Java
© Rémy Courdier 21996-2007 - Java AWT SWING - Version du cours 2.10
Sommaire
AWT : Abstract Window Toolkit
Applet et application
Frame, Panel et Layout
Composants GUI
Les menus
Les layouts
Les images
Animations
Les polices
Gestion des événements
SWING
Nouvelle hiérarchie
Quelques composants
Quelques Thèmes
Les applets
Les composants
Iremia, R.Courdier
03/27/99 2
© Rémy Courdier 31996-2007 - Java AWT SWING - Version du cours 2.10
AWT – SWING
Présentation
AWT
Première interface graphique proposée par Sun
Appel direct au système d’exploitation pour l’affichage des composants
Interface différente selon l’OS
Mais + rapide
Peu de composants
SWING
Objectif : 100% de portabilité
Les composants sont dessinés par Java (seuls les codes de base accèdent à
l’OS via l’AWT)
Aspect identique
Plus gourmand en ressources
Plus de 40 composants différents
© Rémy Courdier 41996-2007 - Java AWT SWING - Version du cours 2.10
AWT : Abstract Window Toolkit
Applet - Application - AWT
Applet
Code Java lancée par un navigateur
Web
La classe Applet est fournie dans
java.applet
une applet dérive d’un Panel
Application
code exécutable de manière autonome
possède en générale une Frame
AWT
Couche d’interfaçage graphique portable
Pour Applets et Applications Java
Protocoles d’agencement d’éléments
graphiques
Protocoles de gestion d’événements
la boite à outils AWT est fournie dans
java.awt
Applets : Restrictions
pas d’accès au disque
pas de menus
pas de boites de dialogues
modales
problèmes de gestions de boites
de dialogues.
Points de vigilance
temps de chargements Java
propose les fichier JAR (Java
ARchive) : compression dans un
fichier signé chargeable en une
seule transaction réseau de toutes
les ressources d’une applet
perte d’informations possible
quand l’utilisateur change de page
ou ferme son navigateur
inopinément
Iremia, R.Courdier
03/27/99 3
© Rémy Courdier 51996-2007 - Java AWT SWING - Version du cours 2.10
AWT : Abstract Window Toolkit
Développement d’une Applet
Les méthodes
init() : invoquée lorsque l’applet
est chargée pour les initialisations
destroy() : invoquée lorsque
l’applet est déchargée de la mémoire
pour libérer les ressources utiles à
l’appl
stop(): invoquée chaque fois que
l’applet n’est plus visible dans le
browser Web et avant destroy()
start() : invoquée chaque fois que
l’applet est visible dans le navigateur
Web et après le init()
paint() : appelée pour chaque fois
qu’il y a une mise à jour de la fenetre
des élements graphiques de l’applet
(fait partie du scénario dupdate()
d’un Component awt)
//Fichier HTML pour Applet
...
<applet code=“Applet1“
width=200 height=200>
</applet>
...
//Fichier Applet1.java
import java.applet.*;
import java.awt.*;
public class Applet1 extends Applet
{ public void paint (Graphics g)
{g.drawString(“applet“,25,10);
}
}
// pour récupérer un param. String
// <param name=color1 value=“vert”>
// s=getParameter(“NomParam”);
© Rémy Courdier 61996-2007 - Java AWT SWING - Version du cours 2.10
AWT : Abstract Window Toolkit
Développement d’une Application Java
Une application Java a l’avantage ultime
d’être portable sur toutes les plate-formes
informatiques majeurs : MS-Windows,
UNIX OSF/Motif, Mac OS7/8,
OS/2 Presentation Manager, etc.
Il peut y avoir certaines modifications du
look-and-feel de l’OS natif induites par
l’AWT qui impose son propre mécanisme
de gestion des éléments d’interfaces
graphique.
Attention a réaliser du code 100% “pure”
Java. (...Java SDK 2.0 de Microsoft,
encore lui... )
// Fichier Appi.java
import java.awt.*;
public class Appli extends Frame {
public Appli() {
// constructeur joue le role
// de la methode init() de
// l’applet
...
}
public static void main (...) {
Appli app = new Appli();
app.show();
}
}
Iremia, R.Courdier
03/27/99 4
© Rémy Courdier 71996-2007 - Java AWT SWING - Version du cours 2.10
AWT : Abstract Window Toolkit
Principales classes “component“ de l’AWT
Component : classe de base
Container : gestionnaire de
composants
Window : Fenêtre sans bordure
Frame : Fenêtre avec bordure
Dialog : Boite de dialogue
Panel : conteneur pour agencement
Canvas : Fenêtre pour dessiner
Contrôles de Dialogue :
Button : Boutton
Checkbox : Boite à cocher + Radio
Choice : sorte de combo box
Label : Texte statique
List : Liste à choix
Scrollbar : Barre de défilement
TextArea : champs de texte multiligne
TextField : champ de texte simple
Component
Button
Canvas
Checkbox
Choice
Container
Panel
Applet
Window
Dialog
FileDialog
Label
List
Scrollbar
TextComponent
TextArea
TextField
© Rémy Courdier 81996-2007 - Java AWT SWING - Version du cours 2.10
AWT : Abstract Window Toolkit
Principales méthodes utiles de la classe Component
void show() : Affiche le composant
void hide() : Masque le composant
Dimension size() : Retourne la taille largeur, hauteur
void resize(int larg, int haut) : Re-dimensionne le composant
Rectangle bounds() : Défini une zone rectangulaire
void enable() : Active le composant
void disable() : Désactive le composant
void repaint() : pour demander de rafraichissement
void update(Graphics g) : Appelé par repaint(),
par défaut efface le fond
void paint(Graphics g) : Appelé par update()
Redessine le composant
void pack(): Retaille la fenêtre principale pour
avec getPreferedSize() l’adapter au composant
Iremia, R.Courdier
03/27/99 5
© Rémy Courdier 91996-2007 - Java AWT SWING - Version du cours 2.10
AWT : Abstract Window Toolkit
Principales autres classes de l’AWT
dessin : la classe Graphics
classe utilisée pour dessiner, afficher du
texte, etc dans une Fenêtre
exemple : drawLigne, drawRect,
fillRect, fillPolygon,
drawString, etc...
cette classe possède également des
méthodes pour changer de Font ou de
Color
L’accès à cette classe s’effectue
généralement dans la méthode paint() des
composants
Agencement : les classes Layout
les “layout” permettent d’agencer les
Components dans un Container
Ne pas positionner par programme les
composants graphiques.
...Problème de résolution d’écrans, de
système d’exploitation,...
Panel p = new Panel();
p.setLayout(new GridLayout(2,3));
Color
Dimension
Event
Component
Button
...
Graphics
Image
Point
MenuComponent
MenuBar
MenuItem
Menu
LayoutManager
BorderLayout //West East Center
// North South
CardLayout //onglets simples
FlowLayout //par défaut
GridBagLayout//Grille flexible
GridLayout //Grille
© Rémy Courdier 101996-2007 - Java AWT SWING - Version du cours 2.10
AWT : Abstract Window Toolkit
Principaux types de layout
1 / 15 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !