Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Java - cursore predefinito
Forum - Java - cursore predefinito

Avatar
killer (Normal User)
Expert


Messaggi: 217
Iscritto: 19/07/2009

Segnala al moderatore
Postato alle 9:53
Lunedì, 22/11/2010
salve a tutti... vorrei capire un piccolo particolare.. :)
è possibile inserire un cursore testuale(quindi in textfield) predefinito 'animato'  ? es:mentre viene premuto un tasto dalla tastiera vorrei richiamare l'immagine gif con i pallini animati dando l'effetto di movimento e al released , impostare quello normale di default !! fatemi sapere presto :)

Ultima modifica effettuata da killer il 22/11/2010 alle 9:54
PM Quote
Avatar
bububs (Normal User)
Expert


Messaggi: 253
Iscritto: 11/03/2010

Segnala al moderatore
Postato alle 14:34
Lunedì, 22/11/2010
Certo ke si può (premetto ke non l'ho provato):
al pressed del mouse fai così:
Codice sorgente - presumibilmente Java

  1. ImageIcon tmp = new ImageIcon("sole.gif");
  2.                                 Image img = tmp.getImage();
  3.                                 Toolkit t = Toolkit.getDefaultToolkit();
  4.                                 Cursor cursore = t.createCustomCursor(img,new Point(0,0),"cur");
  5.                                 jtextfield.setCursor( cursore );


Invece al released fai così:
Codice sorgente - presumibilmente Java

  1. Cursor normalCursor = new Cursor(Cursor.DEFAULT_CURSOR);
  2. jtextfield.setCursor(normalCursor);


PM Quote
Avatar
killer (Normal User)
Expert


Messaggi: 217
Iscritto: 19/07/2009

Segnala al moderatore
Postato alle 21:33
Lunedì, 22/11/2010
grazie...pero...io avrei gia provato in questa maniera... ma ho notato che mi cambia il cursore al puntatore del mouse..e non a quello testuale(della text field) come mai !? eppure  ho fatto                                                                                                       textfield.setCursor(cursor))));
e non this.setCursor(cursor); mmm
ce qualcosa che non va...

ps: come mai setti il new Point() a (0,0) ?  io vorrei che l'animazione si muovesse man mano che si sposta il cursore testuale per digitare i caratteri.... tipo passando come punto x,y la posizione attuale del carattere....almeno credo..fammi sapere :)

Ultima modifica effettuata da killer il 22/11/2010 alle 21:37
PM Quote
Avatar
killer (Normal User)
Expert


Messaggi: 217
Iscritto: 19/07/2009

Segnala al moderatore
Postato alle 21:59
Lunedì, 22/11/2010
ehm..appena provato non funziona...la  gif come se non la vede..pensa che entra in tilt tutto il programma  e si blocca... :( come mai ? forse le gif non le  imposta come cursore ? servono altre estensioni ovviamente di tipo animazioni?

Code:
Image img = Toolkit.getDefaultToolkit().getImage(getClass().getResource("/img/points.gif"));
Cursor cursor = Toolkit.getDefaultToolkit().createCustomCursor(img, new Point(0, 0),"points");
jTextFieldID.setCursor(cursor);


cosa ce di sbagliato ? ho prelevto la gif con la Toolkit direttamente invece che ImageIcon.... potrebbe essere questo il problema ? se si ..quali differenze vi sono ?

Ultima modifica effettuata da killer il 22/11/2010 alle 22:04
PM Quote
Avatar
paoloricciuti (Ex-Member)
Pro


Messaggi: 137
Iscritto: 27/04/2010

Segnala al moderatore
Postato alle 1:13
Martedì, 23/11/2010
Facendo jTextField.setCursor(); non fai altro che impostare che al passaggio del mouse sopra il textField il cursore debba cambiare da quello di default a quello impostato da te. Quello di cui tu credo stia parlando sia chiama caret e non credo ci siano possibilità di cambiarlo, potresti fare una serie di prove con i jFormattedField, che può disegnare una immagine assieme al testo ma risulterebbe abbastanza complicato.

EDIT: mi sbagliavo, c'è la possibilità di cambiarlo. C'è il metodo setCaret che prende in input un caret. Quello che dovresti fare è una classe ad Hoc che implementi Caret. Il problrema è che dovresti metterti ad implementare tutti i metodi.

RE-EDIT: ora che ho visto puoi anche estendere alcune classi come ad esempio BasicCaret in modo che ti trovi già implementati alcuni metodi e fare solo l'override di paint. Poi dove disegnare la tua immagine te lo devi trovare tu, io ho fatto un po di prove e per il momento non sono riuscito. Ora però non mi va di continuare a provare quindi delego a te questo compito.

Ultima modifica effettuata da paoloricciuti il 23/11/2010 alle 1:38
PM Quote
Avatar
killer (Normal User)
Expert


Messaggi: 217
Iscritto: 19/07/2009

Segnala al moderatore
Postato alle 14:50
Martedì, 23/11/2010
allora quindi....dovrei creare una MyClass implements Caret  ? pero .. mi serve semplicemente acquisire una immagine gif e mostrarla nel mentre scorre il caret(in quella posizione) al mouse pressed ...e al rilascio reimpostarlo di default (testuale)...

PM Quote