Sources des exemples…
« La plupart des exemples de programmes sont inspirés des exemples figurant dans les livres suivants :
#R. Eckstein, M. Loy, D. Wood, “Java Swing”, O’Reilly 1998.
#C. Horstmann, G. Cornell, “Au cœur de Java 2”, Campus Press, vol. 1 1999,
vol. 2 2000.
#M. Robinson, P. Vorobiev, “Swing”, Manning Publ. Co. 2000.
#J. Knudsen, “Java 2D Graphics”, O’Reilly 1999.
« Pour des compléments Java, voir:
#G. Roussel, E. Duris, “Java et Internet”, Vuibert 2000.
Aperçu général
« Les programmes à interfaces graphiques font usage des classes awt(abstract windowing toolkit)et/ou swing.
« Ils sont dirigés par évènements.
« Classe de base des awt: la classe abstraiteComponent.
« Classe de base des composants swing: JComponent.
« On distingue, par service
#les classesconteneur
#les classesd’interaction
#lesmenuset dialogues
« Swingoffre une palette bien plus large.
“Bonjour, monde”
« Le programme est dirigé par événements
#un thread dédié: EventDispatchThreadgère la distribution des événements
#le programme ne termine pas implicitement, d’où le System.exit(0)
import javax.swing.*;
class bjm {
public static void main(String[] args) {
JOptionPane.showMessageDialog(null, « Bonjour, monde »);
System.exit(0);
}
}
Bjm.ba
Les conteneurs
« Containerclasse abstraite, responsable du layout
« Windowpour interaction avec le système
« Framefenêtre principale d’application
« Panelcontient des composants
« Applet
« ScrollPaneenrobe un conteneur d’ascenseurs
!un programmeétendFrame
!une appletteétendApplet
Exemple
import java.awt.*;
import java.awt.event.*;
import java.applet.Applet;
public class ActionExemple extends Applet
implements ActionListener
{
Button b;
public void init() {
b = new Button(« En avant ! »);
b.addActionListener(this);
add(b);
}
public void actionPerformed(ActionEvent e) {
if (b.getLabel().equals(« En avant ! »))
b.setLabel(« Ouille ! »);
else
b.setLabel(« En avant ! »);
}
}
Classes d’interaction
Canvaspour le dessin
Choicesest une sorte de combobox
CheckboxGroupcomposant logique
Menus
MenuComponentest abstraite
Menuest une sous-classe deMenuItem par le design patterndes conteneurs
Les raccourcis sont adaptés à la plate-forme
Graphique
« Graphicsfournit à la fois le canal d’affichage et les outils de dessin
« Imagepour les images
« Point, Polygon, Rectangle
« Font,FontMetricspour les polices
« Color
« Java2Da beaucoup de possibilités
Layouts : gestionnaires de géométrie
« Gère la disposition des composantes filles dans un conteneur
« Les gestionnaires par défaut sont
#BorderLayoutpour
$Window
$Frame
$Dialog
#FlowLayoutpour
$Panel
$Applet
« BoxLayout est nouveau et utile
« LayoutManageret LayoutManager2sont des interfaces
Composants graphiques de java (204 KO) (Cours PDF)