|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Bannato
Iscritto dal: Nov 2001
Città: Verona
Messaggi: 1086
|
[Java] Sincronizzare mousedrag e repaint()
La domanda è semplice, come si fa?
Dovrei sincronizzare l'evento "drag del mouse" con il metodo "repaint" di un JPanel, per far in modo che il movimento del mouse attenda che un'immagine sia aggiornata. E' in pratica lo stesso effetto che si vede con un oggetto JSlider: il movimento del mouse è sincrono con il movimento del nodo (che è appunto un oggetto "disegnato" in un metodo paint). Grassie. |
![]() |
![]() |
![]() |
#2 |
Bannato
Iscritto dal: Nov 2001
Città: Verona
Messaggi: 1086
|
Calma ragazzi, non fate a cazzotti per rispondere!
![]() Il problema (credo) stà nel fatto che i thread degli eventi AWT sono asincroni. Dichiarare un metodo o un blocco come "syncronized" non ha effetto. Ho provato ad impostare a MAX_PRIORITY il thread corrente, ma l'awt se ne frega (perchè la priorità ha effetto sui thread appartenenti al gruppo corrente? Stando all'effetto parrebbe così). Ho decompilato (ma negherò tutto) alcune classi relative agli oggetti JSlider ma non ho capito come funziona la faccenda... aiuto... Ciao. |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
|
Ti può essere utile questo link? http://java.sun.com/docs/books/tutor...w/threads.html
E la famosa utilty SwingWorker?? |
![]() |
![]() |
![]() |
#4 |
Bannato
Iscritto dal: Nov 2001
Città: Verona
Messaggi: 1086
|
Grazie per il link, ho provato ad usare il safe-thread SwingWorker e singolarmente il metodo invoke-and-wait, solo che non "congela" il thread awt che gestisce il movimento del mouse.
Mah! |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:38.