Comment utiliser invoke!!!

princessagnes Messages postés 1 Date d'inscription samedi 29 octobre 2005 Statut Membre Dernière intervention 13 avril 2007 - 13 avril 2007 à 10:13
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 - 13 avril 2007 à 12:14
Bonjour à tous, je crée un menu qui comporte des lignes de menu. chaque ligne de menu comporte une methode,qui est appelée grace à "lancer_methode". J'ai un probleme avec ma methode "lancer_methode".
J'espere que qqun pourra m'aider. voici le code :

import

java.lang.reflect.Method;

 

public

class LigneDeMenu
extends SequenceLigneDeMenu{

private String
libelle;

private String
nomMethode;

private Method
methode;

//private Menu men;

//private Object o;

private
boolean
masque;

private Object[]
param;

//les constructeurs

public LigneDeMenu(String l, Method m, String nm, Object[] args){

libelle = l;

methode = m;

nomMethode = nm;

masque =
false ;

//men = me;

//o = obj;

param = args;}

//les accesseurs

public String getLibelle(){

return
libelle;}

public Method getMethode(){

return
methode;}

public
boolean masque(){

return
masque;}
public String toString(){String retour <gras>new String();retour</gras>

"le libelle est " +
libelle +
" et la méthode utilisée est " +
methode;

return retour;}

public

Object lancerUneMethode(Object obj, Object [] t) {                     Object c =

null;
                        try{                     Method m methode;                     c m.invoke(obj, t);

                     }

                     catch (
Exception e){                     System.

err .println(e);}

return c;}

public

void afficherTab( Integer [] t){System.

out.println(
"bjkdfgdfsg");

for (
int i =0; i<t.
length;i++)System.

out.println(t[i].intValue());}

                  public
static
void main(String[] argv){

                  try{                   Integer tableau[] = {1,4,3,2,5,13};

                  

Object[] tp;

                  tab_param = mtd[6].getParameterTypes();

                 LigneDeMenu l1 =

new LigneDeMenu(
"afficher_tableau", mtd[6],
"afficherTab", tab_param );

                 try{
                 l1.lancerUneMethode(tableau, tab_param);

                 }

                  catch (Exception a){               System.

err.println(a);                  }

}

               catch(Exception e){               System.

err.println(e);}

}

1 réponse

Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
13 avril 2007 à 12:14
Salut,

comment tu récupères l'objet methode ? quelle exception tu as ?

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

WORA
Rejoignez-nous