Java Swing

Telechargé par Med Tadano
Les interfaces graphiques en Java 1
Chapitre 3 :
Les interfaces graphiques en Java
(avec Swing)
1. Présentation de Swing
Swing : une bibliothèque de création des interfaces graphiques.
Swing existe depuis Java 1.1
Deux packages sont utilisées pour créer les interfaces graphiques : java.awt , javax.swing
La construction des interfaces graphiques est basée sur 4 éléments :
- Les composants : des boutons, des textes, des images, …
- Les conteneurs : sont des composants qui sont capables d’accueillir d’autres
composants (des fenêtres)
- Le gestionnaire de positionnement : permet de gérer le positionnement des
composants dans l’interface graphique
- Le gestionnaire des évènements : sert à gérer les actions des utilisateurs sur
l’interface qui peuvent modifier le comportement du programme.
2. Les composants de Swing
Les composants de Swing héritent tous de la classe JComponent.
Les méthodes les plus utiles de la classe JComponent sont :
- add : utilisée pour ajouter un composant à un conteneur
- setLocation : permet de positionner le composant graphique dans l’écran
- setSize : fixe la taille d’un composant
- setToolTipText : affiche un texte qui présente le rôle du composant.
Exemple de JToolTip (les infobulles) :
JButton bouton = new JButton("Valider") ;
bouton.setToolTipText(" En cliquant sur le bouton, vous validez
les informations saisies");
Les interfaces graphiques en Java 2
2.1. Les conteneurs primaires
Un conteneur primaire représente le cadre de l’interface.
Un conteneur primaire doit exister dans toute interface graphique.
On s’intéresse à 3 types de conteneurs primaires : JWindow, JFrame et JDialog.
JWindow :
Une fenêtre basique sans aucune bordure et aucun bouton (pas de bouton de fermeture ou de
redimensionnement).
Exemple 1 :
JWindow window = new
JWindow(); window.setSize(300,
200); window.setVisible(true);
JFrame :
Une fenêtre qui contient une bordure, une barre de titre, un bouton de fermeture, un bouton de
redimensionnement et un bouton pour la réduire.
Exemple 2 :
JFrame fenetre = new JFrame();
fenetre.setSize(300 ,300);
fenetre.setTitle("ma fenêtre");
fenetre.setVisible( true);
fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
;
Remarque 1 :
Lors du lancement de l’application, une fenêtre qui est créée n’est pas affichée par défaut, elle
est lancée en arrière plan (cachée). Pour l’afficher à l’écran, il faut utiliser la méthode
setVisible(true).
Remarque 2 :
Lorsqu’on clique sur l’icône de fermeture d’une fenêtre, celle-ci n’est pas fermée mais cachée
(comme si on a appelé setVisible(false)). Pour fermer la fenêtre, on fait appel à l’instruction
suivante :
fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Les boites de dialogues :
C’est une boite de dialogue qui permet de communiquer rapidement avec l’utilisateur.
Généralement, on les utilise pour afficher un message à l’utilisateur. La classe JOptionPane
Les interfaces graphiques en Java 3
permet de créer plusieurs types de boites de dialogues. On distingue 3 types de boites de
dialogue :
- Les dialogues de messages :
Elles contiennent un message sous forme de texte et un bouton de confirmation.
Exemple 3 :
JOptionPane.showMessageDialog(null,"Problème
de réseau","Connexion au réseau
impossible.",JOptionPane.WARNING_MESSAGE);
- Les dialogues de confirmation/question :
Elles servent à demander un renseignement à l’utilisateur.
Exemple 4 :
JOptionPane.showConfirmDialog(fenetre,"Aimez
vous Java ?");
- Les dialogues de saisie :
Elles comprennent une entrée de saisie et des boutons de validation.
Exemple 5 :
String rep = JOptionPane.showInputDialog(null,"
Entrez votre nom d’utilisateur");
2.2. Les conteneurs secondaires
Ces composants servent à regrouper d’autres composants. Les principaux panneaux secondaires
sont :
Le panneau : JPanel
C’est le conteneur le plus simple de Swing. Pour utiliser un panneau, il faut l’inclure dans une
fenêtre (un JFrame par exemple).
Pour ajouter un composant à un JPanel, on utilise la méthode add.
Pour enlever un composant du JPanel, on utilise la méthode remove.
Exemple 6 :
JPanel panel = new JPanel();
JLabel label = new JLabel("mon
bouton"); panel.add(label);
Les interfaces graphiques en Java 4
Remarque :
Une fenêtre se compose d’une barre de menu (JMenuBar) et d’un panneau conteneur
(ContentPane). Le ContentPane est de type JPanel. Les composants graphiques sont ajoutés dans
le ContentPane.
Figure 1 : Structure d'un JFrame
Pour ajouter des composants à une fenêtre, on défini un nouveau ContentPane (de type JPanel),
on y place les composants, puis on utilise la méthode setContentPane de la classe JFrame en lui
entrant le JPanel ainsi créé.
Exemple 7 :
JFrame fenetre=new JFrame();
JPanel panel=new JPanel();
JButton bouton = new JButton("Mon bouton");
panel.add(bouton);
fenetre.setContentPane(panel);
Le panneau à défilement : JScrollPane
JScrollPane permet d’afficher une partie du contenu (par exemple, si on a un texte long ou une
image de grande taille). Ce conteneur ne peut contenir qu’un seul composant.
Exemple 8 :
JFrame fenetre=new JFrame();
fenetre.setSize(400 ,300);
JLabel monImage = new JLabel();
monImage.setIcon(new ImageIcon("image.jpg"));
JScrollPane panel=new JScrollPane(monImage);
fenetre.setContentPane(panel);
Le panneau à onglets : JTabbedPane
Il permet de créer des interfaces en utilisant des onglets. La méthode addTab permet d’ajouter
un composant dans un nouvel onglet. Généralement, on ajoute un conteneur JPanel à chaque
onglet.
Les interfaces graphiques en Java 5
Exemple 9 :
JFrame fenetre=new JFrame();
fenetre.setSize (400 ,300);
JPanel panel1=new JPanel();
JPanel panel2=new JPanel();
JTabbedPane tabbedpane=new JTabbedPane();
tabbedpane.addTab("onglet1", panel1);
tabbedpane.addTab("onglet2", panel2);
fenetre.setContentPane(tabbedpane)
; fenetre.setVisible(true);
2.3. Les composants atomiques
Ce sont les composants élémentaires de Swing : les boutons, les labels, les zones de texte, …
Les boutons : JButton
Pour créer un bouton, on appelle le constructeur JButton :
JButton bouton = new JButton("mon bouton");
Les labels : JLabel
Un label est une simple chaine de caractère. La construction d’un label se fait comme ceci :
JLabel label = new JLabel("mon label");
Les champs de saisie : JTextField
Ils sont utilisés pour saisir une seule ligne de texte. On peut fixer la largeur du champ de saisie
par appel de la méthode setColumns(int).
JTextField champ = new JTextField();
champ.setColumns(10);
Les zones de texte : JTextArea
Sert à afficher un texte sur plusieurs lignes. Pour remplir la zone de texte, on utilise la méthode
setText.
JTextArea zone_texte = new JTextArea();
zone_texte.setText("Texte long..........................\n ....................................\n
................................. \n....................................\n");
Les cases à cocher : JCheckBox
JCheckBox présente une case à cocher. Grâce à ce composant, l’utilisateur peut cocher plusieurs
cases en même temps (plusieurs choix possibles). La méthode setSelected(true) permet de
mettre la case cochée dès sa création.
1 / 14 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans l'interface ou les textes ? Ou savez-vous comment améliorer l'interface utilisateur de StudyLib ? N'hésitez pas à envoyer vos suggestions. C'est très important pour nous!