| 
 | |||||||
| 
 | 
|  | 
|  | 
|  | Strumenti | 
|  15-07-2009, 15:08 | #1 | 
| Senior Member Iscritto dal: Jul 2001 Città: Roma Caput Mundi Moto: Ducati SS 750 i.e. Squadra: A.S. Roma 1927 Macchina: 147 M-Jet 140 equini 
					Messaggi: 698
				 | 
				
				Applicazione java, c'è possibilità di interfacciamento api dall'esterno?
			 
		Domanda secca e precisa da parte di una persona che Java non lo mastica (scusate l'ignoranza...) Per interfacciamento intendo qualcosa che mi permetta di fare la setfocus su un campo, leggere il contenuto di un altro, cliccare un pulsante o una checkbox e così via. Una finestra nativamente windows reagisce alle api win32, ma una finestra java come me la smazzo? Grazie!   
				__________________ ...la voglia di guardarti e dirti sulle labbra...quanto ti ho aspettata...è il senso della vita... ...quando tutto questo sarà io ci sarò...anche se tutto questo mai sarà ci sarò... <about me> <my photo gallery> | 
|   |   | 
|  15-07-2009, 16:01 | #2 | 
| Senior Member Iscritto dal: Oct 2007 Città: Padova 
					Messaggi: 4131
				 | 
		Cioè devi programmare una applicazione Java con interfaccia grafica? Allora puoi dare un'occhiata a questo ottimo tutorial, perfetto per chi comincia. 
				__________________ As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) | 
|   |   | 
|  15-07-2009, 16:07 | #3 | 
| Senior Member Iscritto dal: Jul 2001 Città: Roma Caput Mundi Moto: Ducati SS 750 i.e. Squadra: A.S. Roma 1927 Macchina: 147 M-Jet 140 equini 
					Messaggi: 698
				 | 
		No, devo interfacciare qualcosa di già scritto in java, per questo cerco delle api che mi permettano di interagire con questo tipo di finestre.
		 
				__________________ ...la voglia di guardarti e dirti sulle labbra...quanto ti ho aspettata...è il senso della vita... ...quando tutto questo sarà io ci sarò...anche se tutto questo mai sarà ci sarò... <about me> <my photo gallery> | 
|   |   | 
|  15-07-2009, 16:18 | #4 | |
| Senior Member Iscritto dal: Oct 2007 Città: Padova 
					Messaggi: 4131
				 | Quote: 
 Allora non saprei. Non sono un esperto di API Win32 ma questo è possibile farlo nel contesto di un'applicazione Win32 perchè mi pare che con le API Win32 hai a disposizione metodi che ti permettono di ottenere il riferimento a qualunque finestra sia in esecuzione, anche da processi diversi da quello del chiamante. Una volta ottenuto il riferimento alla finestra (il proverbiale HANDLE se non sbaglio) hai a disposizione funzioni che lo prendo come parametro di ingresso e sui agiscono. Che io sappia non esiste nulla del genere per Java, almeno nei tools/librerie standard. Forse si può fare con JNI. Ma temo che sia una bella gatta da pelare (cioè devi conoscere un fottio di cose). 
				__________________ As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) | |
|   |   | 
|  15-07-2009, 16:49 | #5 | 
| Senior Member Iscritto dal: Nov 2004 Città: Tra Verona e Mantova 
					Messaggi: 4553
				 | 
		Se è un'applicazione Swing non puoi farlo tramite le api del window manager. Per il window manager i componenti Swing non esistono. Devi agganciarti all'applicazione. Se hai il controllo della JVM che esegue il programma - cioè se puoi lanciare il programma e quindi inserire un tuo "hook" java - la faccenda è semplicissima (Frame.getFframes() restituisce tutte le finestre aperte, una rapida ispezione del contenuto e puoi accedere a tutto quello che quella finestra contiene). Se non hai il controllo della JVM allora devi passare per JNI ma interfacciandoti alla JVM in esecuzione. E questo potrebbe richiedere un po' di esperimenti perchè non c'è molta letteratura al riguardo. 
				__________________ Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! | 
|   |   | 
|  15-07-2009, 16:58 | #6 | ||
| Senior Member Iscritto dal: Jul 2001 Città: Roma Caput Mundi Moto: Ducati SS 750 i.e. Squadra: A.S. Roma 1927 Macchina: 147 M-Jet 140 equini 
					Messaggi: 698
				 | Quote: 
 verissimo che una finestra java per win32 è solo una scatola nera, infatti riesco a capire solo la title con getwindowtext. Cosa intendi allora per "avere il controllo della JVM"? Quando mi parli di Quote: 
 
				__________________ ...la voglia di guardarti e dirti sulle labbra...quanto ti ho aspettata...è il senso della vita... ...quando tutto questo sarà io ci sarò...anche se tutto questo mai sarà ci sarò... <about me> <my photo gallery> | ||
|   |   | 
|  15-07-2009, 17:49 | #7 | 
| Senior Member Iscritto dal: Nov 2004 Città: Tra Verona e Mantova 
					Messaggi: 4553
				 | 
		Si tratta di creare un programma Java che lancia l'altro programma Java. Dopo averlo lanciato invoca Frame.getFrames() e ottiene tutti le finestre AWT/Swing aperte in quella JVM. Lanciare un programma Java da un'altro programma Java è questione di poche righe perchè ogni programma Java ha un punto d'entrata che è un comune metodo statico e quindi può essere tranquillamento invocato come tale da un'altra classe. E' però necessario mandare in esecuzione il programma da monitorare. Se il programma è già in esecuzione allora bisogna ispezionare una jvm in esecuzione e, ripeto, non è come fare 2+2. 
				__________________ Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! | 
|   |   | 
|   | 
| Strumenti | |
| 
 | 
 | 
Tutti gli orari sono GMT +1. Ora sono le: 09:29.









 
		 
		 
		 
		









 
  
 



 
                        
                        










