Boa noite!!!
Vou começar postando um exemplo de JProgressBar.
è algo simples, porém, as vzs dá um nó
:D
É um exemplo de JProgressBar que aceita uma String de mensagem, ou um valor int para carregar em %. tb é possivel mudar a cor de Fundo do ProgressBar, ou a cor da barra que carrega, e mudar a fonte da escrita.
tem uma imagem, mas é só substituir.
[code]import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ImageIcon;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JProgressBar;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;
import javax.swing.border.Border;
import org.jfree.ui.FontChooserPanel;
import lib.Formato;
public class Espera extends JDialog implements Runnable {
private static final long serialVersionUID = 3977298828280279606L;
private static final int MINIMUM = 0;
private JPanel painel = null;
private int qtTotal, qtdeProcessado;
private JTextField txtQtdeProcessada;
private javax.swing.Timer activityMonitor;
JProgressBar pbar = null;
/**
* Construtor
*/
public void run() {
}
public Espera() {
this.pbar = new JProgressBar();
}
public Espera(String texto){
this();
this.pbar.setIndeterminate(true);
this.pbar.setStringPainted(true);
this.pbar.setString(texto);
init();
setVisible(true);
}
public Espera(int qtdTotal){
this();
this.qtTotal = qtdTotal;
this.pbar.setIndeterminate(false);
this.pbar.setStringPainted(true);
this.pbar.setMaximum(this.qtTotal);
init();
setVisible(true);
}
public void setFont(String nomeFonte){
this.pbar.setFont(new java.awt.Font(nomeFonte, 0, 12));
}
public void setCorFundo(Color corFundo){
this.pbar.setBackground(corFundo);
}
public void setCorBarra(Color corBarra){
this.pbar.setForeground(corBarra);
}
public int getQtTotal() {
return qtTotal;
}
public void setQtTotal(int qtTotal) {
this.qtTotal = qtTotal;
}
public int getQtdeProcessado() {
return qtdeProcessado;
}
public void setQtdeProcessado(int qtdeProcessado) {
//this.qtdeProcessado = qtdeProcessado;
pbar.setValue(qtdeProcessado);
}
public void setTexto(String texto) {
pbar.setString(texto);
}
private void init(){
initialize();
//Posiciona a janela
Toolkit thekit = this.getToolkit();
Dimension dim = thekit.getScreenSize();
int hor = (dim.width/2) - 150;
int ver = (dim.height/2) - 100;
this.setUndecorated(true);
this.setBounds(hor, ver, 301, 151);
this.setVisible(true);
this.requestFocus();
}
/**
* Construção do painel
* @return void
*/
private void initialize() {
painel = new PanelBackground("/img/espera.png");
painel.setLayout(null);
painel.setBorder(Formato.GRID_BORDER);
painel.setBounds(1, 1, 300, 150);
pbar.setBounds(155,115,120,20);
pbar.setVisible(true);
painel.add(pbar);
this.setContentPane(painel);
}
}
[/code]
um exemplo de como ele é aplicado com um int bem basico só para testes mesmo.
[code]import java.awt.Color;
import javax.swing.SwingUtilities;
import lib.Espera;
public class TesteEspera {
public static void main(String[] args) {
Espera r = new Espera(100000000);
r.setCorFundo(Color.DARK_GRAY);
r.setCorBarra(Color.blue);
r.setFont("Verdana");
Thread tr = new Thread(r);
tr.start();
int a =100000000;
for(int i=0; i<=a; i++){
r.setQtdeProcessado(i);
}
}
}[/code]
e agora um exemplo de uma String
[code]import java.awt.Color;
import javax.swing.SwingUtilities;
import lib.Espera;
public class TesteEspera {
public static void main(String[] args) {
Espera r = new Espera("Aguarde...");
r.setCorFundo(Color.DARK_GRAY);
r.setCorBarra(Color.YELLOW);
r.setFont("Verdana");
Thread tr = new Thread(r);
tr.start();
}
}
[/code]
Espero que ajude quem precisar...
Abçssssssss 8)
Oferecimento: FORMIGON