PDA

Visualizza la versione completa : [java] cambio di cursore


zaion
01-07-2003, 18:12
in un programmino ho un bottone che quando viene premuto richiama
un metodo di una classe. Visto che l'operazione da svolgere parecchio lenta vorrei cambiare il cursore del mouse in una clessidra.
Teoricamente questo pezzo di codice dovrebbe risolvere il mio problema
ma non funziona come vorrei: Cambia il cursore solo verso la fine delle operazioni e non all'inizio, e non riesco a piegarmelo. :bh:



JFrame.setCursor(new Cursor(3));
-metodo che richiamo io-
JFrame.setCursor(new Cursor(0));


lo so che java lavora con i thread ma esiste un modo per far cambiare
il cursore all'inizio e non verso alla fine che tanto non serve a niente.

Se non mi sono spiegato bene non esitate a chiedere spiegazioni.

floyd
01-07-2003, 18:18
credo che il cursore venga disegnato alla fine del metodo che chiama il metodo per impostarlo
public void metodo() {
cambio
altro
cambio
}
adesso esegue il paint sul frame e sul cursore
dovresti fare una classe Thread che esegua quello che ho chiamato altro in modo da ridisegnare il tutto
public void metodo() {
cambio
frame.repaint();
classe = new classe();
classe.run();
while (classe.isAlive()) {
Thread.sleep(100);
}
cambio
}

userfra
02-07-2003, 09:34
Originariamente inviato da zaion
in un programmino ho un bottone che quando viene premuto richiama
un metodo di una classe. Visto che l'operazione da svolgere parecchio lenta vorrei cambiare il cursore del mouse in una clessidra.
Teoricamente questo pezzo di codice dovrebbe risolvere il mio problema
ma non funziona come vorrei: Cambia il cursore solo verso la fine delle operazioni e non all'inizio, e non riesco a piegarmelo. :bh:



JFrame.setCursor(new Cursor(3));
-metodo che richiamo io-
JFrame.setCursor(new Cursor(0));


lo so che java lavora con i thread ma esiste un modo per far cambiare
il cursore all'inizio e non verso alla fine che tanto non serve a niente.

Se non mi sono spiegato bene non esitate a chiedere spiegazioni.

esempio:

jframe.setCursor(Cursor.getPredefinedCursor(Cursor .WAIT_CURSOR));


spero di esserti stato di aiuto
:ciauz:

Loading