|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Sep 2005
Città: Torino
Messaggi: 606
|
[Java] popupmenu dei metodi disponibili
Qualcuno di voi ha una vaga idea di come posso fare per creare un popupmenu come fa per esempio eclipse quando premi Ctrl+spazio o metti il punto dopo una variabile???
il problema non è il popup ma come faccio per elencare tutti i metodi e i campi???credo che probabilmente devo leggere tutta la classpath o qlc del genere ma come???? |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Sep 2005
Città: Torino
Messaggi: 606
|
up!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
|
Per elencare i metodi ed i campi, hai la possibilita' di usare la reflection. E' molto semplice, e puoi avere anche la segnatura dei metodi.
Siccome in Java e' implementato un ottimo sistema di reflection, questo argomento lo trovi su tutti i libri (non per principianti, anche se e' semplice...) ed online su parecchi siti. Non ho un esempio sottomano. Se ti serve, cmq, lo posso scrivere... High flying Sottovento |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Sep 2005
Città: Torino
Messaggi: 606
|
[Java]
grazie mille sei stato di grandissimo aiuto!!!
e pensare che ho letto praticamente tutto sul tutorial della sun...ma evidentemente quel trail mi era proprio scappato!!!!!!! cmq se ti capita sotto mano un pò di codice esplicativo mandamelo please ...grazie ancora!!! |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
|
Ciao,
scusa il ritardo nella risposta. Come sempre il tempo e' tiranno, ma per fortuna in Internet si trova sempre una soluzione La seguente soluzione l'ho trovata su http://www.javastaff.com/article.php...41220234837954, e penso sia quello che ti interessa (e' un programmino a cui passi in ingresso il nome di una classe e ti dice com'e' fatta...). High Flying Sottovento <CODE> import java.lang.reflect.*; public class ProvaReflection { public static void main(String args[]){ if (!args.length>0) { System.out.println("Nessuna classe specificata"); System.exit(-1); } try { Class classe = Class.forName(args[0]); System.out.println(args[0]); Method metodo[] = classe.getDeclaredMethods(); for (int i = 0; i < metodo.length; i++) System.out.println("Metodo "i+" "+metodo[i].toString()); Field listacampi[] = classe.getDeclaredFields(); for (int i = 0; i < listacampi.length; i++) { Field fld = listacampi[i]; System.out.println("Nome = " + fld.getName()); System.out.println("Classe = " +fld.getDeclaringClass()); System.out.println("Tipo= " + fld.getType()); int mod = fld.getModifiers(); System.out.println("Modificatore = " +Modifier.toString(mod)); } } catch (Throwable e) { System.err.println(e); } } } </CODE> |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Sep 2005
Città: Torino
Messaggi: 606
|
grazie per tutto...cmq avevo già fatto qualche prova di stampa molto simile a quella!!!un'ultima domanda....cosa sono i Signers?????c'è un metodo che li restituisce ma ho provato con qualche classe e da nullpointerEx (se mi ricordo bene) perchè evidentemente non li uso!!!boh!!!
|
|
|
|
|
|
#7 | |
|
Messaggi: n/a
|
Quote:
Codice:
Constructor[] costruttori=classe.getConstructors(); |
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 04:41.


















