import javax.swing.*;
import java.awt.*;
//!!!!!! CONTIENT LE MAIN !!!!!!!!!!!
//17/12/2007
//Auteur: Sabri Koffler, pour site InfKoffler
public class MonTypeFenetre extends JFrame{
JButton bouton1;
JButton bouton2;
JLabel label3;
public MonTypeFenetre()
{
this.setLayout(new FlowLayout());
bouton1 = new JButton("Bouton No1");
bouton2 = new JButton("Bouton No2");
label3 = new JLabel( "Label No1");
this.add( bouton1);
this.add( bouton2);
this.add( label3);
}
/**
* @param args
*/
public static void main(java.lang.String[] args) {
MonTypeFenetre maFenetre = new MonTypeFenetre();
maFenetre.pack(); //Sans cette ligne, on ne voit pas les boutons,
//on ne voit que la barre de titre.
//Permet que la taille de la fenêtre soit adaptée au
//résultat d'affichage donné par le gestionnaire positionnement choisi.
maFenetre.setVisible(true); //Permet d'afficher la fenêtre
import java.awt.Event.*;
private JButton monBouton;
this.setLayout(null); //indispensable si on veut placer librement
this.setBounds( 200,300, 200, 250);
monBouton = new JButton("Texte");
monBouton.setLayout(null);
monBouton.setBounds(50,100, 100,32);
//monBouton.setOpaque(true);
monBouton.setBackground(new java.awt.Color(0, 0, 0)); //noir
monBouton.setForeground(new java.awt.Color(204, 204, 204)); //un gris-beige
this.add( monBouton);
//maFenetre.show(); Marche mais deprecated
maFenetre.setVisible(true);
//15/12/2007 infkofflerJavaEcoutEv1-0
//Exemple d’écouteur d’évènement pour pouvoir gérer un clic
//sur notre bouton: on veut affiché « Appuyé », puis
//« Enlevé », dans le texte du bouton, à chaque clic sur le
//bouton.
JButton boutonAgir; //pas en private, pour être accessible à la classe EcouteurBoutonAgir
boutonAgir = new JButton("Agir");
boutonAgir.setLayout(null);
boutonAgir.setBounds(50,100, 100,32);
boutonAgir.setBackground(new java.awt.Color(0, 0, 0)); //noir
boutonAgir.setForeground(new java.awt.Color(204, 204, 204)); //un gris-beige
//on se crée un écouteur d'évènement, et on l'ajoute
boutonAgir.addActionListener(new EcouteurBoutonAgir());
this.add( boutonAgir);
//import java.awt.*;
import java.awt.event.*; // java.awt.event est un package
//pour avoir par exemple ActionListener
import javax.swing.*; //pour avoir JButton
public class EcouteurBoutonAgir implements ActionListener {
public void actionPerformed( ActionEvent e) {
JButton boutonAgir = (JButton) e.getSource();
if (!boutonAgir.getText().equals("Appuyé"))
boutonAgir.setText("Appuyé");
else //c'est "Appuyé": on l'enlève
boutonAgir.setText("Enlevé");
import java.awt.*; // pour le bip
public class EcouteurFenetre extends WindowAdapter
//java.awt.event.WindowAdapter
public void windowIconified( WindowEvent e )
java.awt.Toolkit.getDefaultToolkit().beep();
this.addWindowListener(new EcouteurFenetre());
Dans cet exemple, notre classe EcouteurFenetre hérite de la classe WindowAdapter. On redéfinit uniquement la méthode qui nous intéresse : la méthode windowIconified. Remarque : la méthode redéfinie est simplement écrite, sans préciser explicitement que c’est une redéfinition d’une méthode héritée( en .net, on ajoute le mot-clé override).
Autre remarque : windowListener est donc un écouteur des évènements concernant la fenêtre elle-même, comme la fermeture de la fenêtre, l’iconification de celle-ci, etc. On comprend donc bien le nom « windowListener ».
Interface Listener Classe Adapter Méthodes
ActionListener Aucune actionPerformed( ActionEvent)
FocusListener FocusAdapter focusGained( FocusEvent)
focusLost( FocusEvent)
KeyListener KeyAdapter keyPressed( KeyEvent)
keyReleased( KeyEvent)
keyTyped( KeyEvent)
MouseListener MouseAdapter mouseClicked( mouseEvent)
mouseEntered( MouseEvent)
mouseExited( MouseEvent)
mousePressed( MouseEvent)
MouseMotion-Listener MouseMotion-Adapter mouseDragged( MouseEvent)
mouseMoved( MouseEvent)
ItemListener Aucune itemStateChanged( ItemEvent)
TextListener Aucune textValueChanged( TextEvent)
WindowListener WindowAdapter windowOpend( WindowEvent )
windowClosing( WindowEvent)
windowClosed( WindowEvent )
windowActivated( WindowEvent)
windowDeactivated( WindowEvent)
windowIconified( WindowEvent)
windowDeiconified( WindowEvent)
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
//16/12/2007
JButton boutonAgir;
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
java.awt.Window
java.awt.Frame
javax.swing.JFrame
javax.swing.AbstractButton
javax.swing.Jbutton
javax.swing.text.JTextComponent
javax.swing.JTextField
javax.swing.JLabel
javax.swing.JList
javax.swing.JComboBox
javax.swing.JScrollBar
javax.swing.JToggleButton
javax.swing.JCheckBox
javax.swing.JRadioButton
javax.swing.JTable