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
Aller à : navigation, rechercher

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);
}