Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Deep Tech Revolution: così Area Science Park apre i laboratori alle startup
Deep Tech Revolution: così Area Science Park apre i laboratori alle startup
Siamo tornati nel parco tecnologico di Trieste per il kick-off del programma che mette a disposizione di cinque startup le infrastrutture di ricerca, dal sincrotrone Elettra ai laboratori di genomica e HPC. Roberto Pillon racconta il modello e la visione
HP OMEN MAX 16 con RTX 5080: potenza da desktop replacement a prezzo competitivo
HP OMEN MAX 16 con RTX 5080: potenza da desktop replacement a prezzo competitivo
HP OMEN MAX 16-ak0001nl combina RTX 5080 Laptop e Ryzen AI 9 HX 375 in un desktop replacement potente e ben raffreddato, con display 240 Hz e dotazione completa. Autonomia limitata e calibrazione non perfetta frenano l'entusiasmo, ma a 2.609 euro è tra le proposte più interessanti della categoria.
Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta
Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta
Google ha appena rinnovato la sua celebre serie A con il Pixel 10a, lo smartphone della serie più conveniente se consideriamo il rapporto tra costo e prestazioni. Con il chip Tensor G4, un design raffinato soprattutto sul retro e l'integrazione profonda di Gemini, il colosso di Mountain View promette un'esperienza premium a un prezzo accessibile. E il retro non ha nessuno scalino
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 15-07-2009, 15:08   #1
f@bio80
Senior Member
 
L'Avatar di f@bio80
 
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>
f@bio80 è offline   Rispondi citando il messaggio o parte di esso
Old 15-07-2009, 16:01   #2
banryu79
Senior Member
 
L'Avatar di banryu79
 
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)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 15-07-2009, 16:07   #3
f@bio80
Senior Member
 
L'Avatar di f@bio80
 
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>
f@bio80 è offline   Rispondi citando il messaggio o parte di esso
Old 15-07-2009, 16:18   #4
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da f@bio80 Guarda i messaggi
No, devo interfacciare qualcosa di già scritto in java, per questo cerco delle api che mi permettano di interagire con questo tipo di finestre.
Ah, interessante!
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)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 15-07-2009, 16:49   #5
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
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!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 15-07-2009, 16:58   #6
f@bio80
Senior Member
 
L'Avatar di f@bio80
 
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:
Originariamente inviato da PGI-Bis Guarda i messaggi
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.
Vi ringrazio entrambi e provo a entrare un attimo di più nel dettaglio:
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:
inserire un tuo "hook" java - la faccenda è semplicissima Frame.getFframes()
immagino intendi comunque scrivere altro codice Java che parla con la finestra target...o sbaglio?
__________________
...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>
f@bio80 è offline   Rispondi citando il messaggio o parte di esso
Old 15-07-2009, 17:49   #7
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
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!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Deep Tech Revolution: così Area Science Park apre i laboratori alle startup Deep Tech Revolution: così Area Science P...
HP OMEN MAX 16 con RTX 5080: potenza da desktop replacement a prezzo competitivo HP OMEN MAX 16 con RTX 5080: potenza da desktop ...
Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta Recensione Google Pixel 10a, si migliora poco ma...
6G, da rete che trasporta dati a rete intelligente: Qualcomm accelera al MWC 2026 6G, da rete che trasporta dati a rete intelligen...
CHUWI CoreBook Air alla prova: design premium, buona autonomia e qualche compromesso CHUWI CoreBook Air alla prova: design premium, b...
Il nuovo MacBook Neo ha una memoria SSD ...
Xbox Project Helix, le prime specifiche ...
Annunci pubblicitari sulla TV quando cam...
Prezzi aumentati del 50% durante la nott...
Sconti studiati per singolo utente: Sony...
Addio alla Kia Niro EV, il crossover sar...
Apple crede nel suo iPhone Fold: la prod...
Fortnite, un nuovo listino per i pacchet...
Ecco i nuovi Sonos Play ed Era 100 SL: d...
Razer svela il futuro del gaming potenzi...
Tre robot Narwal in offerta: pulizia aut...
Gracenote denuncia OpenAI: ChatGPT addes...
Microsoft AI Tour Milano: dall'efficienz...
Asus ExpertBook Ultra: Intel Core Ultra ...
Intel presenta i processori desktop Core...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 23:14.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v