NOTA! Questo sito utilizza i cookie e tecnologie simili.

Se non si modificano le impostazioni del browser, l'utente accetta. Per saperne di piu'

Approvo

Guida Java 2D - Capitolo 34: Elementi della GUI di alto livello: barre di avanzamento con JProgressBar.

 

 

JProgressBarA volte alcune operazioni possono richiedere molto tempo per essere eseguite, lasciando il programma 'bloccato' e... facendo innervosire l'utente, che non conosce lo stato dell'operazione.

 

Le barre di avanzamento servono proprio a dare un 'feedback' sullo stato dei lavori.

 

Per implementare tali strumenti, comunque, è necessario creare almeno un altro thread, da eseguire 'contemporaneamente' a quello che deve svolgere l'azione da monitorare; i thread in Java, però, meriterebbero un capitolo (forse anche più di uno) a parte e non verranno trattati in questa sede.

 

 

 

La componente Swing che permette di implementare le barre di avanzamento si chiama JProgressBar.

 

Questi sono i suoi costruttori:

  • JProgressBar()
  • JProgressBar(BoundedRangeModel newModel)
  • JProgressBar(int orient)
  • JProgressBar(int min, int max)
  • JProgressBar(int orient, int min, int max)

con il parametro orient che può assumere uno dei seguenti valori (costanti predefinite di JProgressBar): VERTICAL o HORIZONTAL (ad indicare che aspetto dovrà avere la barra di avanzamento: verticale o orizzontale).

 

Metodi utili messi a disposizione da tale classe sono, ad esempio, i seguenti:

setIndeterminate(boolean b)   :   void Imposta la modalità indeterminata.
setString(String s)   :   void Imposta la stringa da visualizzare nella barra.
setStringPainted(boolean b)   :   void Imposta la visualizzazione della stringa.
setValue(int n)   :   void Imposta il valore della barra.

 

JProgressBar genera eventi di tipo ChangeEvent, da intercettare con listener di tipo ChangeListener.

 

Per maggiori informazioni su JProgressBar e su come monitorare delle operazioni, facendo tra l'altro uso di thread aggiuntivi, si rimanda alle API ufficiali di questa componente.

 

 

 
Vai all'inizio della pagina