Introduction à Swing: créer une fenêtre et lui associer un écouteur d’événement.
Swing est composé de nombreuses classes Java qui permettent de créer des interfaces graphiques pour les programmes.
Voici une introduction en douceur dans laquelle on construit une première fenêtre, à laquelle on donne un écouteur d’événements ( dans notre cas, un écouteur d’événements lié à l’utilisation de la souris), et nous affiche des informations à la console par rapport aux événements rencontrés
Image du résultat attendu
package GuiTests;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JFrame;
public class Test extends JFrame implements MouseListener {
// constructeur de notre classe Test
public Test(){
setVisible(true); // méthode qui rend la fenêtre visible
setTitle("Première fenêtre"); // un titre pour notre fenêtre
setBounds(10, 400, 600, 400); // méthode setBounds qui permet de définir une taille de fenêtre
addMouseListener(this); // on ajoute un objet de type MouseListener. Celui-ci dispose des méthodes
// qui permettent de gérer les évenement pour cette exemple de code
}
// implémentation des méthodes contenu dans l'interface MouseListener, comme MouseListener est une classe abstraite
// on doit redéfinir les méthodes qui la composent, ou alors déclarer abstraite la classe qui implémente MouseListener
public void mouseClicked (MouseEvent ev){
int x = ev.getX(); // get y et get x permettent de récupérer les coordonées de l'événement
int y = ev.getY();
System.out.println(" clic dans fenêtre au points de coordonées " + x +", " + y);// nous indique les coordonées du click
}
public void mousePressed (MouseEvent ev){// méthode abstraite redéfinie
}
public void mouseExited (MouseEvent ev){// méthode abstraite redéfinie
}
public void mouseEntered (MouseEvent ev){// méthode abstraite redéfinie
}
public void mouseReleased(MouseEvent arg0) {// méthode abstraite redéfinie
}
public static void main(String[] args){ // on appel la fenêtre via la méthode main
Test fen2 = new Test();
fen2.setVisible(true);
}
}
