Cloud with rain
.:G
G:.
0 and 1 serie, black on white
pulled card
myjsp.feelinglinux.com
ver. 1.1.9-4
Hallo, welcome to my world.
Here you can find some stuff about computer science.
<<< Enjoy your visit! >>>
0 and 1 serie, white on black

[JAVA LIB] JFadeWaitLine

        Scritto: Giansante Gabriele, 03/09/2005     

Titolo: JFadeWaitLine
Licenza: LGPL
Autore: Gabriele Giansante
Versione: 0.0.1.20050903
Piattaforma: Qualsiasi piattaforma con supporto Java
Usato con: Java 1.4, 1.5, 1.7, 1.8



Cos'e' "JFadeWaitLine"

"JFadeWaitLine" e' un componente swing derivato da javax.swing.JComponent utile per notificare all'utente uno stato di attesa.
Le caratteristiche principali sono:
  • Linea con movimento circolare antiorario continuo
  • Altamente configurabile (velocita' di rotazione, dimensione scia, dimensioni, ecc.)
  • Semplice da usare


Perche' usare "JFadeWaitLine"

E' un componente che potrebbe essere utile nella notifica di stati di attesa, piazzato, ad esempio, sulla barra dei menu di un'applicazione.

Il futuro di "JFadeWaitLine"

In futuro, dipendentemente dal mio tempo libero (che e' sempre molto poco...), potranno esserci
  1. introduzione di ulteriori parametri
  2. introduzione di ulteriori figure
  3. ottimizzazioni sulle prestazioni e sul codice
  4. correzioni di bug, se ne trovo e se me ne vengono segnalati
  5. miglioramento del Javadoc
  6. supporto saltuario e improbabile (nel senso che vengono prima gli altri impegni) a coloro che intendono usare seriamente la libreria (non ci prendo una lira... ehm... un euro).
Sicuramente il futuro non prevede
  1. alcuno sforzo per rendere il sistema uno standard di sviluppo: l'ho scritto per piacere ed utilita' personali!
  2. alcun impegno costante e regolare nella scrittura di codice
  3. alcuna risposta a email provocatorie del tipo "ma che hai scritto...", "non capisci niente...", "che e' sto schifo...", fatica inutile!


Esempio di utilizzo

Il seguente esempio mostra come inserire un componente di tipo JFadeWaitLine all'interno di un altro e come far partire o fermare l'animazione.
 
     
        ...

        JFadeWaitLine wait = new JFadeWaitLine();
        wait.setPreferredSize(32, 32);
        wait.setRay(12,12); //Impostazione del raggio sull'asse X e sull'asse Y
        wait.setForeground(Color.RED); //Linea rossa
        wait.setOpaque(false); //Se si vuole la trasparenza col componente sottostante
        wait.setSpeed(100); //Un po' piu' lento del default (75)
        
        aComponent.add(wait, aConstraint);
        
        ...
        
        wait.start();
        
        ...

        wait.stop();

        ...
        
Si tenga presente che l'operazione di avvio e di termine dell'operazione puo' essere svolta qualsiasi numero di volte. L'unica accortezza e' considerare il fatto che ad ogni avvio corrisponde la creazione di un nuovo thread.

Parameters schema La realizzazione grafica dell'immagine avviene mediante il disegno di un certo numero di settori circolari (teoricamente contigui). Il primo settore e' l'unico ad essere uguale a quello impostato come primo piano. Gli altri hanno lo stesso colore del primo con la differenza che viene usato un valore diverso sul canale alpha (quello della trasparenza). Dal secondo settore fino all'ultimo questo valore diminuisce fino a diventare 0 (trasparenza completa). Questo determina l'effetto di una linea (un settore, in pratica) che si lascia dietro una scia.
Con riferimento allo schema, "alpha" e' l'angolo in base al quale viene disegnata la prima linea. Questo angolo viene gestito automaticamente. L'angolo "delta" determina l'approssimazione del settore ad una linea. Non bisogna usare valori troppo piccoli (0.3 e' un buon valore) per non rallentare troppo l'animazione (e' consigliabile effettuare qualche test). Un'altro parametro configurabile e' il numero massimo di linee, ovvero la dimensione della scia. La trasparenza viene automaticamente impostata per ogni settore in base a questo numero massimo.
Per ulteriori parametri consultare il JavaDoc.

Screenshot

Ecco qualche screenshot. I primi due sono relativi al componente con raggio definito dall'utente (10), il terzo usa il raggio di default, ovvero della dimensione del componente.

Screenshot 1, user size
Es. 1) Raggio 10, colore Nero, tempo "t1"
Screenshot 2, user size
Es. 1) Raggio 10, colore Nero, tempo "t2>t1"
Screenshot 3, full size
Es. 2) Raggio Max, colore Nero



Hai trovato utile questo articolo?
Aiutami a condividerlo o metti un "mi piace".
Grazie mille!


Gli strumenti di condivisione (Google+, Facebook) sono visibili in alto a destra solo dopo aver accettato la policy di utilizzo dei cookie per questo sito.
FAQ - Come faccio a cambiare la mia scelta?

 

Strumenti (myjsp.feelinglinux.com)
Gioco: allenamento con la tastiera Strumenti di codifica/decodifica URI (%-encoding) e Base64 Strumenti di calcolo online per IP e Reti
QUIZ GAME
Quiz game

Cerca @myjsp.feelinglinux.com

Pubblicita'