|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
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. |
|
|
|
|
|
#2 | |
|
Senior Member
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:
Se qualcuno più esperto passa di qua e legge magari sa darti indicazioni più precise |
|
|
|
|
|
|
#3 |
|
Senior Member
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... |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 10:35.



















