|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jul 2000
Città: Monza
Messaggi: 529
|
Java: come fare per.....
Qualcuno saprebbe dirmi se è possibile (ed in caso affermativo come) recuperare a runtime la classe chiamante di una classe in oggetto....Vi prego è urgente!
Ciao |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
|
Non ho capito bene...vuoi sapere a runtime la classe di appartenenza di un oggetto??
oggetto.getClass().getName(); Altrimenti riformula la domanda... |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jul 2000
Città: Monza
Messaggi: 529
|
intanto grazie,
quello che voglio sapere io esattamente è questo: supponi di richiamare da una classe un metodo di un'altra classe, ebbene io vorrei sapere nella classe il cui metodo è richiamato qual è la classe che l'ha chiamato..Grazie ancora |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
|
La via + semplice è senz'altro quella di aggiungere nella firma del costruttore (o del metodo se ti serve solo li) della seconda classe un parametro di tipo Object.(o più specializzato a seconda delle esigenze);
Codice:
Object caller=null;
public mySecondaClasse(..... , Object caller);{
caller = _caller;
}
mySecondaClasse seconda = new mySecondaClasse(..., this); |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Jul 2000
Città: Monza
Messaggi: 529
|
ti ringrazio nuovamente per la tua disponibilità..e approfitto della tua gentilezza per incalzarti nuovamente:
sapresti raggiungere lo stesso obiettivo dalla parte del chiamato senza che il chiamante passi la propria istanza? |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
|
Quesito interessante... se provi a spiegarmi le tue esigenze magari mi viene in mente qualcosa...
Comincia a dare un'occhiata ai metodi della classe java.lang.Class, in special modo al metodo getDeclaredClasses() Returns an array of Class objects reflecting all the classes and interfaces declared as members of the class represented by this Class object. |
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Jul 2000
Messaggi: 874
|
Quote:
|
|
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
|
Quote:
|
|
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Jul 2000
Città: Monza
Messaggi: 529
|
Quote:
Sapresti articolare con qualche ulteriore dettaglio questo suggerimento ? |
|
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
|
Quote:
|
|
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
|
Throwable è la superclasse di Exception e di tutti gli errori che possono verificarsi in JAVA.
Un eccezione può essere lanciata a runtime dalla JVM oppure lanciata dal programmatore con l'istruzione Codice:
throw new Exception("Questo è il messaggio"); Le eccezioni sono oggetti veri e proprio...con printStackTrace() ottieni in output tutto lo stack con informazioni + o - significative di come si è generato l'errore... Una cosa tipo: Codice:
java.awt.IllegalComponentStateException: component must be showing on the screen
to determine its location
at java.awt.Component.getLocationOnScreen(Component.java:746)
at javax.swing.Autoscroller.mouseDragged(Autoscroller.java:86)
at javax.swing.JComponent.processMouseMotionEvent(JComponent.java:1824)
at java.awt.Component.processEvent(Component.java:2207)
at java.awt.Container.processEvent(Container.java:901)
at java.awt.Component.dispatchEventImpl(Component.java:1812)
at java.awt.Container.dispatchEventImpl(Container.java:946)
at java.awt.Component.dispatchEvent(Component.java:1744)
at javax.swing.plaf.basic.BasicTableUI$MouseInputHandler.repostEvent(Bas
icTableUI.java:377)
at javax.swing.plaf.basic.BasicTableUI$MouseInputHandler.mouseDragged(Ba
sicTableUI.java:438)
at java.awt.AWTEventMulticaster.mouseDragged(AWTEventMulticaster.java:25
7)
printStackTrace(PrintStream s) Prints this throwable and its backtrace to the specified print stream. oppure void printStackTrace(PrintWriter s) e analizzarlo... Ti segnalo che dal JDK 1.4 esiste un metodo: StackTraceElement[] getStackTrace() Provides programmatic access to the stack trace information printed by printStackTrace(). che rende le cose sicuramente + semplici |
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Jul 2000
Messaggi: 874
|
proprio questo
|
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: Jul 2000
Città: Monza
Messaggi: 529
|
Grazie mille, adesso provo a seguire i vostri consigli..poi vi dico!
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:24.


















