Académique Documents
Professionnel Documents
Culture Documents
CHERIF Walid
1 – Buttons
la classe JButton est issue du package javax.swing
Créons:
1. une classe contenant une méthode main
Fenetre fen= new Fenetre();
2. une classe héritée de Jframe : Fenetre
Dans la classe Fenetre, créons une variable d'instance de type JPanel
et une autre de type JButton.
JPanel = le content pane de notre Fenetre
Définissons le label de notre bouton et mettons-le sur le JPanel.
1 – Buttons import
JButton javax.swing.JButton;
bouton = new JButton("Mon premier bouton");
import javax.swing.JFrame;
import
JButton javax.swing.JPanel;
bouton2 = new JButton();
public class Fenetre extends
bouton2.setText("Mon JFrame{
deuxième bouton");
private JPanel pan = new JPanel();
Classe Fenetre:
private JButton bouton = new JButton("Créer compte");
public Fenetre(){
this.setTitle("Gestion d'une banque");
this.setSize(600, 480);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocationRelativeTo(null);
pan.add(bouton);
this.setContentPane(pan);
this.setVisible(true);
}
} CHERIF Walid - Programmation Orientée Objet 4
Programmation Orientée Objet
1 – Buttons
import javax.swing.JButton;
Le bouton est centré sur votre conteneur: car le JPanel gère la mise en page.
import javax.swing.JFrame;
Maintenant, on va utiliser le content pane d'une Jframe:
public class
On va Fenetre
appeler extends Jframe
la méthode {
getContentPane() :
private JButton
nousbouton = newnos
ajouterons JButton("Créer
composants compte");
au content pane qu'elle retourne
public Fenetre(){
this.setTitle ("Gestion d'une banque");
this.setSize(600, 480);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocationRelativeTo(null);
//On ajoute le bouton au content pane de la Jframe
this.getContentPane().add(bouton);
this.setVisible(true);
}}
CHERIF Walid - Programmation Orientée Objet 5
Programmation Orientée Objet
2 – layout managers
Permettent de gérer la position des éléments sur la fenêtre.
Tous ces layout managers se trouvent dans le package java.awt.
L'objet BorderLayout:
placer les composants dans des zones du conteneur: haut, droite…
2 – layout managers
L'objet GridLayout:
placer les composants dans des zones du conteneur: haut, droite…
import 2
java.awt.BorderLayout;
– layout managers
import java.awt.CardLayout;
import java.awt.Color;
L'objet CardLayout:
import java.awt.event.ActionEvent;
gérer les conteneurs comme un tas de cartes
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public Fenetre(){
………
if(++indice > 2)
indice = 0;
//on passe au conteneur correspondant au nom fourni en paramètre
cl.show(content, listContent[indice]);
} });
boutonPane.add(bouton);
boutonPane.add(bouton2);
//On définit le layout
content.setLayout(cl);
//On ajoute les cartes à la pile avec un nom pour les retrouver
content.add(card1, listContent[0]);
content.add(card2, listContent[1]);
content.add(card3, listContent[2]);
this.getContentPane().add(boutonPane, BorderLayout.NORTH);
this.getContentPane().add(content, BorderLayout.CENTER);
this.setVisible(true);
}
} CHERIF Walid - Programmation Orientée Objet 14
Programmation Orientée Objet
public Fenetre(){
this.setTitle("Animation");
this.setSize(300, 300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocationRelativeTo(null);
container.setBackground(Color.white);
container.setLayout(new BorderLayout());
container.add(pan, BorderLayout.CENTER);
container.add(bouton, BorderLayout.SOUTH);
//Définition d'une police d'écriture
Font police = new Font("Tahoma", Font.BOLD, 16);
//On l'applique au JLabel
label.setFont(police);
//Changement de la couleur du texte
label.setForeground(Color.blue);
//On modifie l'alignement du texte grâce aux attributs statiques de la classe JLabel
label.setHorizontalAlignment(JLabel.CENTER);
container.add(label, BorderLayout.NORTH);
this.setContentPane(container);
this.setVisible(true); CHERIF Walid - Programmation Orientée Objet 17
go(); }
Programmation Orientée Objet
public Fenetre(){
//Ce morceau de code ne change pas
}
}
}