1
Programmation Java
Programmation d’interfaces graphiques en Java
Christelle Urtado & Sylvain Vauttier
Septembre 2013
Plan
Introduction
Composants
disponibles
Dessin des
interfaces
Réactivité des
interfaces
Interfaces graphiques en Java
!Java propose des librairies de classes «!toutes faites!» pour
construire, facilement et de manre souple, des interfaces
graphiques évoluées
"java.awt
"javax.swing
3
Plan
Introduction
Composants
disponibles
Dessin des
interfaces
Réactivité des
interfaces
Les boutons
!Un bouton (classe JButton) est un dispositif
d’entrée de type «!appuyer pour activer!».
!Un bouton peut contenir du texte et/ou une
image.
...
JButton monBouton1 = new JButton ("Bouton 1");
JButton monBouton2 = new JButton (new ImageIcon ("maison.gif"));
JButton monBouton3 = new JButton ("Bouton 3",
new ImageIcon ("maison.gif"));
...
import java.awt.*;
import javax.swing.*;
class ProgPpal
{
public static void main (String args [])
{
JFrame maFenetre = new JFrame ("Ma premiere fenetre");
JButton monBouton1 = new JButton ("Bouton 1");
JButton monBouton2 = new JButton (new ImageIcon ("maison.gif"));
JButton monBouton3 = new JButton ("Bouton 3",
new ImageIcon ("maison.gif"));
maFenetre.getContentPane ().setLayout (new FlowLayout (FlowLayout.CENTER));
maFenetre.getContentPane ().add (monBouton1);
maFenetre.getContentPane ().add (monBouton2);
maFenetre.getContentPane ().add (monBouton3);
maFenetre.pack ();
maFenetre.setVisible (true);
}
}
4
Plan
Introduction
Composants
disponibles
Dessin des
interfaces
Réactivité des
interfaces
Les cases à cocher
!La case à cocher (classe JCheckBox) fournit un
dispositif d!’entrée de type «!actif / inactif!»
accompagné d'une étiquette de texte.
...
JCheckBox maCase1 = new JCheckBox ("Option 1");
...
import java.awt.*;
import javax.swing.*;
class ProgPpal
{
public static void main (String args [])
{
JFrame maFenetre = new JFrame ("Ma premiere fenetre");
JCheckBox maCase1 = new JCheckBox ("Option 1");
maFenetre.getContentPane ().setLayout (new FlowLayout (FlowLayout.CENTER));
maFenetre.getContentPane ().add (maCase1);
maFenetre.pack ();
maFenetre.setVisible (true);
}
}
5
Plan
Introduction
Composants
disponibles
Dessin des
interfaces
Réactivité des
interfaces
Les boutons radio
!Les boutons radio (classe JRadioButton) sont
comparables aux cases à cocher mais sont faits
pour fonctionner en groupe (classe ButtonGroup).
!A un instant donné il ne peut y avoir qu’un et un
seul bouton radio d’activé dans un groupe.
...
JRadioButton monBouton1 = new JRadioButton ("Bouton 1");
JRadioButton monBouton2 = new JRadioButton ("Bouton 2");
JRadioButton monBouton3 = new JRadioButton ("Bouton 3");
ButtonGroup monGroupe = new ButtonGroup ();
monBouton1.setSelected(true);
monGroupe.add (monBouton1);
monGroupe.add (monBouton2);
monGroupe.add (monBouton3);
...
import java.awt.*;
import javax.swing.*;
class ProgPpal
{
public static void main (String args [])
{
JFrame maFenetre = new JFrame ("Ma premiere fenetre");
JRadioButton monBouton1 = new JRadioButton ("Bouton 1");
JRadioButton monBouton2 = new JRadioButton ("Bouton 2");
JRadioButton monBouton3 = new JRadioButton ("Bouton 3");
ButtonGroup monGroupe = new ButtonGroup ();
monBouton1.setSelected(true);
monGroupe.add (monBouton1);
monGroupe.add (monBouton2);
monGroupe.add (monBouton3);
maFenetre.getContentPane ().setLayout (new GridLayout (3,1) );
maFenetre.getContentPane ().add (monBouton1);
maFenetre.getContentPane ().add (monBouton2);
maFenetre.getContentPane ().add (monBouton3);
maFenetre.pack ();
maFenetre.setVisible (true);
}
}
6
Plan
Introduction
Composants
disponibles
Dessin des
interfaces
Réactivité des
interfaces
Les étiquettes de texte
!Une étiquette (classe JLabel) affiche une ligne
de texte.
!Un étiquette est un composant graphique sur
lequel on ne peut pas agir.
...
JLabel monEtiquette = new JLabel ("Etiquette 1");
...
import java.awt.*;
import javax.swing.*;
class ProgPpal
{
public static void main (String args [])
{
JFrame maFenetre = new JFrame ("Ma premiere fenetre");
JLabel monEtiquette = new JLabel ("Etiquette 1");
maFenetre.getContentPane ().setLayout (new FlowLayout
(FlowLayout.CENTER));
maFenetre.getContentPane ().add (monEtiquette);
maFenetre.pack ();
maFenetre.setVisible (true);
}
}
1 / 23 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 !