Invoquer une méthode par son nom
Ce wiki a été archivé en 2018.
Le nouveau wiki se trouve à: ressources.labomedia.org Les fonctionnalités sont désactivées: vous pouvez faire une recherche sur Google site:https://wiki.labomedia.org et découvrir La Labomedia. |
De Centre de Ressources Numériques - Labomedia
Cet exemple permet d'appeler une méthode dynamiquement avec son nom. Il existe la méthode mehod() de Processing, mais celle-ci ne permet pas de passer des paramètres.
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
void setup() {
noLoop();
}
void draw() {
invoquer("maMethode", " C'est super !");
}
void invoquer(String s, String argument) {
try {
Method m = this.getClass().getMethod(s, String.class);
m.invoke(this, argument);
}
catch (NoSuchMethodException x) {
x.printStackTrace();
}
catch (InvocationTargetException x) {
x.printStackTrace();
}
catch (IllegalAccessException x) {
x.printStackTrace();
}
}
void maMethode(String s) {
println("Je suis la methode invoquée." + s);
}