Non, il est apparu comme un professionnel.
button.addActionListener(
new ActionListener(){
@Override
public void actionPerformed(ActionEvent event){
/*Décrivez le traitement lorsque le bouton est enfoncé ici*/
}
}
);
à propos de ça.
Il existe un moyen d'écrire ** classe anonyme ** afin de pouvoir créer une classe sur place.
Par exemple, essayez de concevoir une telle interface.
SampleInterface.java
interface SampleInterface{
public void sampleMethod();
}
Maintenant, générons cette ** classe anonyme **.
SampleInterface sample = new SampleInterface(){
@Override
public void sampleMethod(){
System.out.println("Hello :-) ");
}
}
sample.sampleMethod();
// >>> Hello :-)
Vous pouvez l'utiliser comme ça.
Qu'est-ce que je fais
ExampleClass.java
class ExampleClass implements SampleInterface{
@Override
public void sampleMethod(){
System.out.println("Hello :-) ");
}
}
SampleInterface sample = new ExampleClass();
sample.sampleMethod();
// >>> Hello :-)
Identique à ça. Vous pouvez éviter de créer une classe qui implémente l'interface dans un fichier séparé.
Avec cela, vous pouvez placer le traitement lui-même dans d'autres classes.
SampleClass.java
class SampleClass{
private SampleInterface sampleInterface;
public SampleClass(SampleInterface sampleInterface){
this.sampleInterface = sampleInterface;
}
public void callInterfaceMethod(){
sampleInterface.sampleMethod();
}
}
SampleClass sample = new SampleClass(
new SampleInterface(){
@Override
public void sampleMethod(){
System.out.println("Hellooooooo!!!! :-) ");
}
}
);
sample.callInterfaceMethod()
// >>> Hellooooooo!!!! :-)
Comme ça.
Je le vois souvent comme un framework qui utilise Java. Vous pouvez insérer le traitement souhaité sans changer la classe qui traite les boutons, de sorte que vous pouvez laisser le traitement pratique du framework tel quel. Même sur Android, ce modèle est ce que vous faites lorsque vous appuyez sur un bouton.
C'est tout pour le ** modèle d'auditeur **.