J'ajouter à mon composant l'écouter correspondant aux évenements que je veux écouter (addKeyListener, addMouseListener, addWindowListener...)
Je définis les methodes (ici dans une classe anonyme (new KeyAdapter(){...}) correspondants aux actions que je souhaite réaliser pour chaque évenement
Souvent on préfere utiliser les nAdapter aux nListener (KeyAdapter, MouseAdapter...) parcequ'il sont une implémentation des premiers
(class KeyAdapter implements KeyListener) et qu'ils ne nécessitent donc pas de réecrire l'ensemble des methodes mais juste celles dont on a besoin.
Une fois que tu auras piger le principe, c'est valable pour tout les évenements.
Autre chose pour enfoncer le clou. Java est un language Objet. D'une maniere generale (on deviens plus subtil par la suite) l'attirbut static ne dois être utilisé que pour le main. Cela veux dire que tout le reste doit être objet (C'est évidament faux, mais ça aide à piger)
Ne pas écrire :
class HelloWord{
//args[0] est le nom de la personne
public static void main(String[] args){
try{
System.out.println("Salut " +args[0]);
}
catch(ArrayIndexOutOfBoundsException e){
System.out.println("Salut Anonyme");
}
}
Mais plustôt:
class HelloWord{
private String nom
public HelloWord(String nom){
this.nom = nom;
saluer();
void saluer(){
//this est optionnel
System.out.println("Salut " +this.nom);
}
public static void main(String[] args){
try{
new HelloWord(args[0]);
}
catch(ArrayIndexOutOfBoundsException e){
new HelloWord("Anonyme");
}
}
[^] # Re: modifie completement ton code
Posté par Joris Dedieu (site web personnel) . En réponse au message J'arrive pas à récupérer un évenement clavier dans une fenêtre. Évalué à 1.
jc.addKeyListener(new KeyAdapter(){ public void keyPressed(KeyEvent e) { System.out.print ("Event clavier trouvé"); System.out.print (e.getKeyChar ()); } ... });Le principe étant :Souvent on préfere utiliser les nAdapter aux nListener (KeyAdapter, MouseAdapter...) parcequ'il sont une implémentation des premiers (class KeyAdapter implements KeyListener) et qu'ils ne nécessitent donc pas de réecrire l'ensemble des methodes mais juste celles dont on a besoin.
Une fois que tu auras piger le principe, c'est valable pour tout les évenements.
Autre chose pour enfoncer le clou. Java est un language Objet. D'une maniere generale (on deviens plus subtil par la suite) l'attirbut static ne dois être utilisé que pour le main. Cela veux dire que tout le reste doit être objet (C'est évidament faux, mais ça aide à piger)
Ne pas écrire :class HelloWord{ //args[0] est le nom de la personne public static void main(String[] args){ try{ System.out.println("Salut " +args[0]); } catch(ArrayIndexOutOfBoundsException e){ System.out.println("Salut Anonyme"); } }Mais plustôt:class HelloWord{ private String nom public HelloWord(String nom){ this.nom = nom; saluer(); void saluer(){ //this est optionnel System.out.println("Salut " +this.nom); } public static void main(String[] args){ try{ new HelloWord(args[0]); } catch(ArrayIndexOutOfBoundsException e){ new HelloWord("Anonyme"); } }