Académique Documents
Professionnel Documents
Culture Documents
2. Le concept de classe
Le concept de classe correspond simplement à la généralisation de la notion de type que l’on
rencontre dans les langages classiques. En effet, une classe n’est rien d’autre que la description d’ un
ensemble d’objets ayant une structure de données commune et disposant des mêmes méthodes.
Les objets apparaissent alors comme des variables d’un tel type classe (en P.O.O., on dit aussi qu’un
objet est une instance de sa classe). Bien entendu, seule la structure est commune, les valeurs des
champs étant propres à chaque objet. En revanche, les méthodes sont effectivement communes à
l’ensemble des objets d’une même classe.
Lorsque, comme cela arrive parfois dans l’écriture d’interfaces graphiques, on est amené à ne créer
qu’un seul objet d’une classe donnée, la distinction entre les notions d’objet et de classe n’est pas
toujours très évidente.
La classe JFrame
Pour créer une fenêtre graphique, on dispose, dans le paquetage nommé javax.swing, d’une classe
standard nommée JFrame, possédant un constructeur sans arguments. Par exemple, avec : JFrame
fen = new JFrame() ;
2
On crée un objet de type JFrame et on place sa référence dans fen. Mais si on se limite à cela,
rien n’apparaîtra à l’écran. Il est en effet nécessaire de demander l’affichage de la fenêtre en
appelant la méthode setVisible1 :
fen.setVisible (true) ; // rend visible la fenetre de reference fen
Comme par défaut, une telle fenêtre est créée avec une taille nulle, il est nécessaire d’en définir
les dimensions auparavant ; par exemple :
fen.setSize (300, 150) ; // hauteur de 150 pixels et une largeur de 300 pixels
En général, on choisira d’afficher un texte précis dans la barre de titre. Pour ce faire, on utilisera
la méthode setTitle, par exemple : fen.setTitle ("Ma premiere fenetre") ;
Voici un programme très simple de création d’une fenêtre graphique :
import javax.swing.* ; // importer le package swing
public class Main // nom de la classe
{ public static void main (String args[]) // la fonction principale main
{
JFrame fen = new JFrame() ; // instantiation de la classe JFrame par un objet fen
fen.setSize (500, 350) ; // taille de la fennetre
fen.setTitle ("Ma premiere fenetre") ; // titre de la fennetre
JLabel texte = new JLabel("Hello World");
fen.getContentPane().add(texte);
fen.setVisible (true) ;
}
}