1
Les méthodes importantes des objets graphiques
Abstract Window Toolkit
AWT
2
Component
(abstraite)
Container
(abstraite)
Choice
List
Checkbox
Button
TextComponent
Canvas Panel
Window
TextField
TextArea
Frame
Dialog
La hiérarchie d'héritage
// une seule ligne
// plusieurs lignes
// saisie de texte
// panneaux
Applet
Label // texte
3
Component
public void repaint( )
public void paint(Graphics g)
public Graphics getGraphics()
public Container getParent()
public Dimension getSize()
java.awt.Component :
Cette classe abstraite est la racine des classes visibles de l'AWT.
Peint le composant. Elle n'est
jamais appelée explicitement
par le programme. On peut
par contre la redéfinir.
4
Container
java.awt.Container :
Cette classe abstraite est la racine des classes conteneur de l'AWT.
Seules les classes qui héritent de Container peuvent contenir des
composants.
ajout de composant : méthodes add
suppression de composants :
méthodes remove, removeAll()
accès aux sous-composants :
Component getComponent(int n)
int getComponentCount( )
Component[] getComponents( )
gestion du layout :
void setLayout(LayoutManager layout)
LayoutManager getLayout( )
5
Window
java.awt.Window :
Fenêtre d'application sans bordure, ni barre de menus; c'est un
conteneur, géré par défaut par un BorderLayout.
Rarement instanciée directement, on utilise ses sous-classes
Dialog et Frame.
affichage :
void setVisible( boolean b) , boolean isVisible( )
void toFront( ) , void toBack( )
void isShowing( ), void show( )
suppression :
void dispose( )
6
Frame
java.awt.Frame :
Fenêtre munie d'un bord, un bandeau de titre et,
éventuellement, une barre de menus.
constructeurs (au départ le fenêtre est invisible):
Frame( )
Frame(String title)
titre :
void setTitle( String title) , String getTitle( )
taille :
boolean isResizable( ), void setResizable(boolean b)
menu :
void setMenuBar( MenuBar menu),
MenuBar getMenuBar( )
7
Frame
java.awt.Frame :
Trois appels sont obligatoires pour afficher la
fenêtre :
new Frame(...) pour créer l'objet Frame.
setSize(...) pour donner une taille au cadre, sinon il
sera réduit a quelques pixels.
setVisible(true) pour faire apparaître le cadre et
pour initier le Thread chargé de détecter et traiter
les actions de l'utilisateur sur le cadre.
8
Dialog
java.awt.Dialog :
Fenêtre munies d'un bord et d'une barre de titre mais,
contrairement
aux Frames, elles sont éphémères.
constructeurs (au départ le fenêtre est invisible):
Dialog(Frame parent)
Dialog(Frame parent, String title)
Dialog(Frame parent, String title, boolean modal)
titre :
void setTitle( String title) , String getTitle( )
taille :
boolean isResizable( ), void setResizable(boolean b)
Dialog peut être modal (dépendante) ou non :
boolean isModal( ), void setModal(boolean b)
9
Dialog
Exemple Dialog :
Frame
Dialog
non modale l'utilisateur
peut continuer d'interagir
avec le reste de l'application.
10
Dialog
import java.awt.*;
public class LancerFenetre extends Frame {
public LancerFenetre(){
this.setTitle("Fenetre avec Dialog");
this.setSize(300, 250);
this.setBackground(Color.GRAY);
this.setLayout(new FlowLayout());
Dialog d = new Dialog(this,"Données",false);
d.setSize(200, 100);
d.setLayout(new FlowLayout());
d.add(new Label("Nom : "));
d.add(new TextField(10));
d.setVisible(true);
this.add(new Label("Fenêtre pricipale"));
this.setVisible(true);
}
}
true : il faut fermer
dialogue avant de
reprendre l'application.
11
Component
(abstraite)
Container
(abstraite)
Choice
List
Checkbox
Button
TextComponent
Canvas Panel
Window
TextField
TextArea
Frame
Dialog
La hiérarchie d'héritage
// une seule ligne
// plusieurs lignes
// saisie de texte
// panneaux
Applet
Label // texte
12
Panel et Applet
java.awt.Panel :
constructeurs :
Panel( )
Panel (LayoutManager layout)
java.applet.Applet :
constructeurs :
Applet( )
méthodes du cycle de vie :
void init( ), void start( ), void stop( ), void destroy( )
récupération des paramètres
String getParameter(String name)
13
Applet
Une Applet est un programme inséré dans un document HTML
qui est exécuté par un navigateur. Exemple :
<applet code="exempleApplet.Bonjour.class"
width="400" height="300">
</applet>
package exempleApplet;
import java.applet.Applet;
import java.awt.*;
public class Bonjour extends Applet {
public void init(){
this.setLayout(new FlowLayout());
this.setBackground(Color.YELLOW);
this.add(new Label("Hello tous"));
}
}
14
Applet
Applet
15
Graphics
java.awt.Graphics:
Un contexte graphique est un instance de Graphics qui comporte
l'ensemble des informations et des outils nécessaires
pour effectuer des opérations graphiques.
La méthode getGraphics et le paramètre de paint permettent
d'obtenir une instance de Graphics. Méthodes :
void drawRect(int x, int y, int width, int height )
void fillRect(int x, int y, int width, int height )
void drawOval(int x, int y, int width, int height )
void fillOval(int x, int y, int width, int height )
void drawLine(int x1, int y2, int x2, int y2 )
void drawString(String s, int x, int y )
setColor(Color c), getColor(), setFont(Font f), getFont()
etc…
16
Graphics
Exemple
import java.applet.Applet;
import java.awt.*;
public class DessinApplet extends Applet {
public void paint(Graphics g){
g.drawString("Hello Tous !!", 20, 20);
g.setColor(Color.RED);
g.fillOval(30,30,60,50);
g.setColor(Color.BLUE);
g.drawRect(30,30,60,50);
}
}
17
Canvas
java.awt.Canvas :
Représente une zone graphique pour faire un dessin.
constructeurs :
Canvas( )
affichage :
void paint( Graphics g) // Doit être défini !!!
18
Canvas
Exemple
import java.awt.*;
public class FenetreExCanvas
extends Frame {
final static int HAUTEUR = 350;
final static int LARGEUR = 450;
public FenetreExCanvas(){
this.setSize(LARGEUR, HAUTEUR);
this.setLayout(new BorderLayout());
this.add(new DessinCanvas(),"Center");
this.setVisible(true);
}
public static void main(String[] args) {
new FenetreExCanvas();
}
}
19
Canvas
Exemple
import java.awt.*;
public class DessinCanvas extends Canvas {
public void paint(Graphics g){
g.drawString("Autre Canvas",20,20);
g.fillOval(0,0,15,15);
g.fillRect(150,80,200,100);
g.setColor(Color.YELLOW);
g.fillRect(170,100,160,60);
g.setColor(Color.RED);
g.drawLine(10,10,200,100);
g.setColor(Color.BLUE);
int x = this.getWidth();
int y = this.getHeight();
g.fillOval(x-16,y-16,15,15);
}
}
Exercice. Faire ce dessin
20
Component
(abstraite)
Container
(abstraite)
Choice
List
Checkbox
Button
TextComponent
Canvas Panel
Window
TextField
TextArea
Frame
Dialog
La hiérarchie d'héritage
// une seule ligne
// plusieurs lignes
// saisie de texte
// panneaux
Applet
Label // texte
21
TextComponent
java.awt.TextComponent :
Classe-mère de TextArea et TextField; rarement utilisée
directement.
Edition :
boolean isEditable( ), void setEditable(boolean b)
String getText( ), void setText(String text)
Sélection :
String getSelectedText( )
int getSelectionStart( ), void setSelectionStart( int n)
int getSelectionEnd( ), void setSelectionEnd( int n)
void select(int start, int end)
void selectAll( )
int getCaretPosition( ), void setCaretPosition(int pos)
22
TextField et TextArea
java.awt.TextField :
Constructeurs :
TextField( ), TextField(int cols)
TextField(String text), TextField(String text, int cols)
Taille :
int getColumns( ), void setColumns(int n)
java.awt.TextArea :
Constructeurs :
TextArea( ), TextArea(int rows, int cols)
TextArea(String text, int rows, int cols, int scrollbars)
Taille :
int getColumns( ), void setColumns(int n)
int getRows( ), void setRows(int n)
23
Button et Label
java.awt.Button :
Constructeurs :
Button( )
Button(String label)
java.awt.Label :
String getLabel( ), void setLabel(String label)
24
Checkbox
java.awt.Checkbox :
Constructeurs :
Checkbox( ), Checkbox(String label),
Checkbox(String label, boolean checked)
Checkbox(String l, boolean chkd, CheckboxGroup grp)
Méthodes
String getLabel( ), void setLabel(String label)
boolean getState( ), void setState(boolean checked)
CheckboxGroup getCheckboxGroup( )
void setCheckboxGroup(CheckboxGroup groupe)
25
List
java.awt.List :
Liste déroulante. L'utilisateur peut choisir un ou plusieurs éléments.
Constructeurs :
List( ), List(int rows), List(int rows, boolean multiple)
Méthodes
void addItem(String item), void addItem(String item, int n)
void replaceItem(String item, int n), void delItem(int pos)
int getItemCount(), String getItem(int n), String[] getItems()
boolean isMultipleMode( )
void setMultipleMode(boolean checked)
void select (int pos), void deselect (int pos)
String getSelectedItem( ), String[] getSelectedItems( )
int getSelectedIndex( ), int[] getSelectedIndexes( )
boolean isIndexSelected(int pos)
26
List
Exemple
import java.awt.*;
public class ListeDéroulante
extends Frame {
public ListeDéroulante(){
this.setSize(300, 250);
this.setBackground(Color.GRAY);
this.setLayout(new BorderLayout());
List lst = new List(3, false);
lst.add("Lundi");
lst.add("Mardi");
lst.add("Mercredi");
lst.add("Jeudi");
lst.add("Vendredi");
this.add(lst,"North");
this.setVisible(true);
}
public static void main(String[] args) {
new ListeDéroulante();
}
}
false, un seul item
peut être sélectionné
27
Choice
java.awt.Choice :
Répresente les pop-up menu.
Constructeurs :
Choice( )
Méthodes de gestion du menu
void addItem(String item), void insert(String item, int n)
void remove(String item), void remove(int pos)
int getItemCount(), String getItem(int n)
Méthodes de gestion de la séléction
void select (int pos), void select (String item)
String getSelectedItem( )
int getSelectedIndex( )
boolean isIndexSelected(int pos)
List est similaire à Choice.
List permet éventuellement d'afficher et
sélectionner simultanément plusieurs items.
28
Choice
Exemple :
import java.awt.*;
public class ListeChoix extends Frame {
public ListeChoix(){
this.setSize(300, 250);
this.setBackground(Color.GRAY);
this.setLayout(new BorderLayout());
Choice choixCouleur = new Choice();
choixCouleur.add("Rouge");
choixCouleur.add("Bleu");
choixCouleur.add("Blanc");
this.add(choixCouleur, "Center");
this.setVisible(true);
}
public static void main(String[] args) {
new ListeChoix();
}
}
29
Exemple Insertion d'une image (1/3)
Résultat :
Hiérarchie de la composition: Frame ou Applet (BorderLayout)
Canvas
CENTER
jarExecutable
30
Exemple Insertion d'une image (2/3)
Code Frame :
public class ImageFrame extends Frame {
public ImageFrame() {
this.setSize(500,500);
this.setLayout(new BorderLayout());
Image lune = null;
try {
lune = ImageIO.read(
this.getClass().getResourceAsStream( "lune.jpg"));
} catch (IOException e) {
e.printStackTrace();
}
ImageCanvas ic = new ImageCanvas(lune);
add(ic,"Center");
this.setVisible(true);
this.addWindowListener(new WindowCloser(this));
}
C'est similaire
pour une Applet
1 / 6 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 !