La librairie graphique awt (Abstract Window Toolkit)



Yüklə 22,69 Kb.
tarix07.01.2019
ölçüsü22,69 Kb.

TD4 : La librairie graphique AWT (Abstract Window Toolkit)

Principes


L’objectif de la librairie graphique de Java est de fournir le nécessaire pour réaliser des interfaces utilisateurs. Une interface utilisateur met en jeu deux familles d’objets.

Les objets qui permettent de dessiner les écrans (objets graphiques)

Les objets qui permettent d’interagir avec l’utilisateur (objets événements)

1 Les éléments de l’interface utilisateur


Ces objets permettent de représenter sur un écran les éléments graphiques de l’interface utilisateur. Il y a trois catégories d’objets de présentation :

1 Les conteneurs d’objets

2 Les objets élémentaires

3 Les « placeurs » d’objets



    1. Les conteneurs


Les conteneurs permettent de regrouper sur une même fenêtre les objets graphiques élémentaires. Le rôle d’un conteneur est de regrouper et de permettre la visualisation des objets élémentaires d’une fenêtre graphique. La hiérarchie d’héritage entre les classes conteneurs est la suivante :

Exercice 1:

 Que représente la relation d’héritage entre ces classes graphique

 Créer une classe IHM qui contient et visualise une fenêtre de type Frame

 Créer une classe IHM qui est une fenêtre de type frame


Les méthodes associées à une frame sont :

Constructeur

Frame

Frame(String titre)



Méthodes courantes (qui sont en fait définies dans la classe Component)

setSize(Dimension dimension)

setSize(int largeur, int hauteur)

setVisible(boolean b)


    1. Les objets élémentaires


Ce sont les objets standards de base (choisis par Java) de toutes les interfaces utilisateurs. Toutes les plateformes qui sont compatibles avec la librairie graphique java sont capables de visualiser ces composants standard. D’où le nom de Abstract Window Toolkit.
La hiérarchie de éléments de cette catégorie sont :


Exercice 2 :

 Représenter l’aspect graphique de ces éléments


Pour ajouter un composant dans un conteneur on utilise la méthode :

add( Component comp, Object contraintes)


Exercice 3 :

 Compléter la classe IHM pour y ajouter un label, une zone de texte et un bouton.

 Que manque t’il ?

    1. Les « placeurs » d’objets


Les layoutManager (gestionnaires de disposition) sont des objets dont le rôle est d’organiser visuellement les composants unitaires dans un conteneur. Lorsque l’on crée un conteneur, il possède automatiquement un gestionnaire de disposition (layout manager) par défaut. Il est possible d’associer à un conteneur un autre layoutManager.

setLayoutManager(LayoutManager unManager) ;

validate() //demande au placeur de recalculer la position de ses composants
La hiérarchie des layoutManagers est :


Exercice 4 :

Quels sont les différentes organisations possibles ?

 Avantages et inconvénients d’utiliser les gestionnaire de disposition

Exercice 5 :

 Représenter les différents écrans suivants


1)

public class Flow extends java.applet.Applet {

public void init(){

add(new java.awt.Button("Un"));

add(new java.awt.Button("Deux"));

add(new java.awt.Button("Trois"));

add(new java.awt.Button("Quatre"));

}

}


2)

public class Grid extends java.applet.Applet {

public void init(){

setLayout(new GridLayout(3,2));

add(new java.awt.Button("Un"));

add(new java.awt.Button("Deux"));

add(new java.awt.Button("Trois"));

add(new java.awt.Button("Quatre"));

add(new java.awt.Button("Cinq"));

}

}


3)

public class Border extends java.applet.Applet {

public void init(){

setLayout(new BorderLaytou( ));

add(new java.awt.Button("Un"), java.awt.BorderLayout.NORTH);

add(new java.awt.Button("Deux"), java.awt.BorderLayout.EAST);

add(new java.awt.Button("Trois"), java.awt.BorderLayout.SOUTH);

add(new java.awt.Button("Quatre"), java.awt.BorderLayout.WEST);

add(new java.awt.Button("Cinq"), java.awt.BorderLayout.CENTER);

}

}



Exercice n°6


Définir l'organisation des composants permettant l'affichage d'une calculatrice.

Introduction à l’interface utilisateur


Le code suivant permet d’afficher le texte « bonjour » dans un TextField lors d’un click sur un bouton.

Exercice n°7 :

Décrire le fonctionnement de ce programme

package TP;
/**

* MaFenetre affiche un bouton et une zone de texte.

* Appuyer sur le bouton fait afficher bonjour dans la zone de texte

*/

public class MaFenetre extends java.awt.Frame implements java.awt.event.ActionListener {


protected java.awt.TextField unChampText;

/**


* Constructeur de MaFenetre

*/

public MaFenetre() {



// Préparation de l'affichage

setLayout(new java.awt.BorderLayout());

unChampText=new java.awt.TextField();

add(unChampText, java.awt.BorderLayout.NORTH);

java.awt.Panel p=new java.awt.Panel(new java.awt.FlowLayout());

java.awt.Button unBouton=new java.awt.Button("Appuyez ici!");

p.add(unBouton);

add(p);
//Abonnement des composants graphiques aux listeners

unBouton.addActionListener(this);

}

/**



* actionPerformed method comment.

*/

public void actionPerformed(java.awt.event.ActionEvent e) {



unChampText.setText("Bonjour");

}

/**



* Main permettant de tester la fenêtre.

*/

public static void main(java.lang.String[] args) {



// Insert code to start the application here.

MaFenetre tmp=new MaFenetre();

tmp.setSize(new java.awt.Dimension(100,100));

tmp.setVisible(true);



}

}


S. Frénot IUT- Bourg en Bresse 1999 /


Yüklə 22,69 Kb.

Dostları ilə paylaş:




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©muhaz.org 2020
rəhbərliyinə müraciət

    Ana səhifə