Swing Résumé 1 [PDF]

  • Author / Uploaded
  • leila
  • 0 0 0
  • Gefällt Ihnen dieses papier und der download? Sie können Ihre eigene PDF-Datei in wenigen Minuten kostenlos online veröffentlichen! Anmelden
Datei wird geladen, bitte warten...
Zitiervorschau

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 import import import import import

Le menuBar permet d'attacher un menu à la JFrame.

javax.swing.JButton; javax.swing.JFrame; javax.swing.JMenu; javax.swing.JMenuBar; javax.swing.JMenuItem;

JMenuBar menuBar = new JMenuBar(); f.setJMenuBar(menuBar); JMenu menu = new JMenu("Fichier"); menu.add(menu); menuBar.add(menu); f.setVisible(true);

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);

} }

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 { // Start my window 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);

private static void addWindowAdapter(WindowAdapter l) { // TODO Auto-generated method stub } }

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 Affichage texte import java.awt.*; 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(400,100); JPanel pannel = new JPanel(); JLabel jLabel1 =new JLabel("Mon texte 1"); pannel.add(jLabel1);

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

ImageIcon icone = new ImageIcon("images/book.gif"); JLabel jLabel2 =new JLabel(icone); pannel.add(jLabel2); JLabel jLabel3 =new JLabel("Mon texte 2",icone,SwingConstants.LEFT); pannel.add(jLabel3); f.getContentPane().add(pannel); f.setVisible(true); } }

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