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

Java 2D - 34: GUI: barre di avanzamento con JProgressBar

Guida Java 2D, corso di base 

 

 

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.

 

 

Pagina di Francesco Milanese (redbaron85) su Facebook   Pagina di Francesco Milanese (redbaron85) su Google Plus   Profilo di Francesco Milanese (redbaron85) su LinkedIn   Pagina di Francesco Milanese (redbaron85) su Twitter   Canale Youtube di Francesco Milanese (redbaron85ct)

Vai all'inizio della pagina