Il y a 3 façons différentes que vous pouvez souhaiter pour cela:
-
Thrower
à l'intérieur de l' Catcher
-
Catcher
à l'intérieur de l' Thrower
-
Thrower
et Catcher
à l'intérieur d'une autre classe dans cet exemple, Test
LE TRAVAIL GITHUB EXEMPLE je SUIS en CITANT les valeurs par Défaut de l'Option 3, à essayer les autres simplement en commentaire l' "Optional
" bloc de code de la classe, vous voulez être en principal, et de l'ensemble de la classe comme l' ${Main-Class}
variable dans l' build.xml
le fichier:
4 Choses nécessaires à jeter de côté code:
import java.util.*;//import of java.util.event
//Declaration of the event's interface type, OR import of the interface,
//OR declared somewhere else in the package
interface ThrowListener {
public void Catch();
}
/*_____________________________________________________________*/class Thrower {
//list of catchers & corresponding function to add/remove them in the list
List<ThrowListener> listeners = new ArrayList<ThrowListener>();
public void addThrowListener(ThrowListener toAdd){ listeners.add(toAdd); }
//Set of functions that Throw Events.
public void Throw(){ for (ThrowListener hl : listeners) hl.Catch();
System.out.println("Something thrown");
}
////Optional: 2 things to send events to a class that is a member of the current class
. . . go to github link to see this code . . .
}
2 Choses nécessaires dans un fichier de classe pour recevoir des événements à partir d'une classe
/*_______________________________________________________________*/class Catcher
implements ThrowListener {//implement added to class
//Set of @Override functions that Catch Events
@Override public void Catch() {
System.out.println("I caught something!!");
}
////Optional: 2 things to receive events from a class that is a member of the current class
. . . go to github link to see this code . . .
}