Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Samsung Galaxy S26 Ultra: finalmente qualcosa di nuovo
Recensione Samsung Galaxy S26 Ultra: finalmente qualcosa di nuovo
Per diversi giorni il Galaxy S26 Ultra di Samsung è stato il nostro compagno di vita. Oltre alle conferme del colosso coreano come la qualità del display e una suite AI senza rivali, arriva il Privacy Display, un unicum nel mondo smartphone. Ci sono ancora alcuni gap che non sono riusciti a colmare lato batteria e fotocamera, seppur con alcuni miglioramenti.
Diablo II Resurrected: il nuovo DLC Reign of the Warlock
Diablo II Resurrected: il nuovo DLC Reign of the Warlock
Abbiamo provato per voi il nuovo DLC lanciato a sorpresa da Blizzard per Diablo II: Resurrected e quella che segue è una disamina dei nuovi contenuti che abbiamo avuto modo di sperimentare nel corso delle nostre sessioni di gioco, con particolare riguardo per la nuova classe dello Stregone
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
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 13-11-2007, 22:09   #1
cerbug
Junior Member
 
Iscritto dal: Nov 2007
Messaggi: 1
[JAVA]forme irregolari sorgenti di eventi

Salve saluto tutti,
sono nuovo del forum, è il mio primo quesito:
normalmente tutti gli oggetti grafici bottoni, caselle di testo ecc hanno sempre un area di forma più o meno rettangolare all'interno della quale sono inscritti e che è sensibile alle varie azioni. Esempio quando entro in quest'area con il mouse l'oggetto a cui appartiene lancia un evento che verrà raccolto e processato dal relativo listener associato. Ora vorrei sapere se è possibile creare degli oggetti, forme giometrice irregolari... che abbiano un'area sensibile non rettangolare ma della stessa forma dell'oggetto in modo tale che per es. se ho un oggeto a forma di stella verra lanciato un evento mouseEntered solo se entro dntro la stella e non nel rettangolo dove essa è inscritta.
In altre parole c'è modo di far emettere eventi a delle figure geometriche disegnate solo all'interno della loro propria forma?
Grazie per la eventuale risposta.
cerbug è offline   Rispondi citando il messaggio o parte di esso
Old 15-11-2007, 09:22   #2
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Ciao,
purtroppo non so risponderti direttamente, perchè non sono un esperto, ma credo che potresti trovare in questo estratto di testo un utile indizio:
Quote:
Originariamente inviato da Java 2D API Overview from the Programmer's Guide to the Java 2D API.
3.2.2 Bounds and Hit Testing

A bounding box is a rectangle that fully encloses a shape’s geometry. Bounding boxes are used to determine whether or not an object has been selected or “hit” by the user.

The Shape interface defines two methods for retrieving a shape’s bounding box, getBounds and getBounds2D. The getBounds2D method returns a Rectangle2D instead of a Rectangle, providing a higher-precision description of the shape’s bounding box.

Shape also provides methods for determining whether or not:

* A specified point lies within the bounds of the shape (contains)
* A specified rectangle lies totally within the bounds of the shape (contains)
* A specified rectangle intersects the shape (intersects)
L'ho ricavato dalla guida introduttiva a Java2D presente nei Javadocs inclusi con la JDK.

Se qualcuno più esperto passa di qua e legge magari sa darti indicazioni più precise
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 16-11-2007, 09:27   #3
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Ci ho pensato un attimo e...

...credo che in sostanza potresti fare qualcosa del genere:

1) intercetti l'evento che scatta quando il puntatore del mouse entra nel BoundingBox del tuo oggetto grafico

2) a quel punto intervieni recuperando la Shape dell'oggetto grafico

3) la Shape recuperata, assieme alle coordinate della posizione del puntatore del mouse, diventano i parametri da passare ad un metodo che calcola se le coordinate (del puntatore) sono dentro la Shape.
A quel punto sai se l'evento "sono dentro l'oggetto grafico" va effettivamente lanciato o se va ignorato...


La parte critica è il punto 3) ma appunto vedi se la Shape ti mette già lei a disposizione un metodo che ti fa il lavoro, sennò devi implementare tu un metodo del genere....

Nel secondo caso guarda qui per un'idea su come si fa a testare un punto e verificare se è dentro o fuori un generico poligono...
banryu79 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione Samsung Galaxy S26 Ultra: finalmente qualcosa di nuovo Recensione Samsung Galaxy S26 Ultra: finalmente ...
Diablo II Resurrected: il nuovo DLC Reign of the Warlock Diablo II Resurrected: il nuovo DLC Reign of the...
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...
Spotify introduce 'Taste Profile': il co...
Sole e pioggia insieme: il nuovo pannell...
AWS e Cerebras uniscono le forze: nuova ...
Windows 11: accesso al drive C: bloccato...
BYD pronta a comprare un marchio storico...
Windows 11 si prepara ai monitor oltre i...
Apple avrebbe fissato un target di vendi...
Ultimi giorni per sfruttare le Offerte d...
I migliori smartphone in offerta ora su ...
Le migliori TV delle Offerte di Primaver...
Uno dei robot più avanzati del 2025 crol...
Robot aspirapolvere con stazione automat...
Il nuovo top di gamma compatto di OPPO n...
Nilox aggiorna la sua gamma di fat e-bik...
Meta valuta tagli fino al 20% della forz...
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: 17:54.


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