Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Qrevo Curv 2 Flow è l'ultima novità di casa Roborock per la pulizia di casa: un robot completo, forte di un sistema di lavaggio dei pavimenti basato su rullo che si estende a seguire il profilo delle pareti abbinato ad un potente motore di aspirazione con doppia spazzola laterale
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Abbiamo guidato per diversi giorni la Alpine A290, la prima elettrica del nuovo corso della marca. Non è solo una Renault 5 sotto steroidi, ha una sua identità e vuole farsi guidare
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Abbiamo provato a fondo il nuovo Magic 8 Lite di HONOR, e per farlo siamo volati fino a Marrakech , dove abbiamo testato la resistenza di questo smartphone in ogni condizione possibile ed immaginabile. Il risultato? Uno smartphone praticamente indistruttibile e con un'autonomia davvero ottima. Ma c'è molto altro da sapere su Magic 8 Lite, ve lo raccontiamo in questa recensione completa.
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


Roborock Qrevo Curv 2 Flow: ora lava con un rullo Roborock Qrevo Curv 2 Flow: ora lava con un rull...
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite Alpine A290 alla prova: un'auto bella che ti fa ...
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile Recensione HONOR Magic 8 Lite: lo smartphone ind...
Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora Sony WF-1000X M6: le cuffie in-ear di riferiment...
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI Snowflake porta l'IA dove sono i dati, anche gra...
Oracle NetSuite si potenzia con nuove fu...
Musica generata con l'IA: Sony lavora a ...
Cyberpunk 2077 in versione PC su smartph...
BYD si gioca un grosso jolly: pronta Rac...
Samsung annuncia l'arrivo in Italia dei ...
Offerta lancio Pixel 10a: come ottenere ...
Google presenta Pixel 10a: poche le novi...
Caos F1 2026: 14 monoposto senza omologa...
Tesla festeggia il primo Cybercab prodot...
Desktop piccolo e potente? NZXT H2 Flow ...
Polestar spinge sull'acceleratore: arriv...
Nuovo record mondiale nel fotovoltaico: ...
L'ultimo baluardo cade: fine supporto pe...
'Il mondo non ha mai visto nulla di simi...
La Commissione europea mette sotto indag...
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: 06:27.


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