Vous êtes sur la page 1sur 23

Java

Swing

1
Chapitre
Java Swing
• Introduction
• Les composants de base
• Les boutons
• La saisie de texte
• Les onglets
• Les menus
• Les gestionnaires
Introduction
Dans une interface graphique, il
existe deux types de composants :

Un conteneur va permettre de placer des


composants, par exemple une fenêtre.

Les composants atomiques sont des composants qui ne


peuvent pas contenir d'autres composants, par exemple
un bouton radio, un champ de texte, une image.
1. Création d’une
interface graphique

4
Structure de base
import javax.swing.JFrame;

public class MyWindow extends JFrame {

public static void main(String[] args) throws


Exception {
// Start my window
MyWindow myWindow = new MyWindow();
myWindow.setVisible( false );

// Code à implémenter
}
}
Création d’une interface

import javax.swing.JFrame;

public class MyWindow extends JFrame {

public static void main(String[] args) throws


Exception {
// Start my window
MyWindow myWindow = new MyWindow();
myWindow.setVisible( false );

// Code à implémenter
JFrame F = new JFrame();
F.setTitle("une interface");
F.setSize(320,150);F.setVisible(true);
}
}
2. Ajout de composants
dans l’interface graphique

7
2.1 La classe JFrame

8
JRootPane

Tous les composants associés à


un objet JFrame sont gérés par
un objet de la classe JRootPane.
Le Border Layout
Les interfaces Graphiques

Le gestionnaire de mise en forme, Border Layout,


offre la possibilité de placer les composants dans
une zone géographique. C'est à dire, le conteneur
est divisé en cinq parties :

- Nord ( North )
- Sud ( South)
- Est (East)
- Ouest ( West)
- Centre ( Center)
MenuBar : 1 onglet Le menuBar permet d'attacher un menu à la JFrame.

import javax.swing.JButton;
import javax.swing.JFrame; JMenuBar menuBar = new JMenuBar();
import javax.swing.JMenu; f.setJMenuBar(menuBar);
import javax.swing.JMenuBar;
import javax.swing.JMenuItem; JMenu menu = new JMenu("Fichier");
menu.add(menu);
public class MyWindow extends JFrame { menuBar.add(menu);
f.setVisible(true);
public static void main(String[] args) }
throws Exception { }

// Start my window
MyWindow myWindow = new MyWindow();
myWindow.setVisible( true );

// Code à implémenter

JFrame f = new JFrame("ma fenetre");


f.setSize(300,100);
JButton b =new JButton("Mon
bouton");
f.getContentPane().add(b);
JFrame : icone La méthode setIconImage() permet de modifier l'icône de la JFrame.

import javax.swing.*;

public class MyWindow extends JFrame {

public static void main(String[] args) throws Exception {

// Start my window
MyWindow myWindow = new MyWindow();
myWindow.setVisible( true );

// Code à implémenter

JFrame f = new JFrame("ma fenetre");


f.setSize(300,100);
JButton b =new JButton("Mon bouton");
f.getContentPane().add(b);
ImageIcon image = new ImageIcon("images/book.gif");
f.setIconImage(image.getImage());
f.setVisible(true); }
}
JFrame : évènement La gestion des événements associés à un objet JFrame

import java.awt.event.*; }
import javax.swing.*; };
addWindowAdapter(l);
public class MyWindow extends JFrame {
}
public static void main(String[] args) throws
Exception { private static void addWindowAdapter(WindowAdapter l)
{
// Start my window // TODO Auto-generated method stub
MyWindow myWindow = new MyWindow();
myWindow.setVisible( true ); }
}
// Code à implémenter
JFrame f = new JFrame("ma fenetre");
f.setSize(300,100);
f.setVisible(true);

WindowAdapter l = new WindowAdapter() {


public void windowClosing(WindowEvent e){
System.exit(0);
2.2 La classe JPanel

14
JPanel

La classe JPanel est un conteneur utilisé pour regrouper et


organiser des composants grâce à un gestionnaire de
présentation (layout manager).

Le gestionnaire par défaut d'un JPanel est un objet de la classe


FlowLayout.
Le Flow Layout

• Le gestionnaire de mise en forme FLOW


LAYOUT, permet de placer les composants les
uns à la suite des autres, de gauche à droite.
2.3 La classe Jlabel

17
jlabel
jlabel
JLabel Le composant JLabel permet d'afficher un texte et/ou une icône
en précisant leur alignement.
Affichage texte L'icône doit être au format GIF et peut être une animation dans ce
format.

import java.awt.*; ImageIcon icone = new


import javax.swing.*; ImageIcon("images/book.gif");
JLabel jLabel2 =new JLabel(icone);
public class MyWindow extends JFrame { pannel.add(jLabel2);
JLabel jLabel3 =new JLabel("Mon texte
public static void main(String[] args) throws 2",icone,SwingConstants.LEFT);
Exception { pannel.add(jLabel3);
f.getContentPane().add(pannel);
// Start my window f.setVisible(true);
MyWindow myWindow = new MyWindow(); }
myWindow.setVisible( true ); }

// Code à implémenter
JFrame f = new JFrame("ma fenetre");
f.setSize(400,100);
JPanel pannel = new JPanel();
JLabel jLabel1 =new JLabel("Mon texte 1");
pannel.add(jLabel1);
2.4 Ajout de composants :
étapes

21
Ajout de composants
Ajouter des composants
• Les étapes à suivre :
• Création d'une interface graphique
• Création d'un panel (Conteneur)
• Création des composants
• Ajout du panel à l'interface graphique
• Ajout des composants au conteneur
Exercice

Vous aimerez peut-être aussi