Segue o código abaixo…
a função que dá o set no texto é a última (atualizaBarraProgressoTitulo)
e tem comentadas algumas linhas que já fiz de teste porém não funcionaram
vale ressaltar que quando a ativade dessa função tem entre as chamdas um intervalo longo
± 4 segundos ela atualiza sem problemas MAS quando chamo mais rápido como em um loop
de listagem de arquivos de um diretório ela simplesmente para no primeiro e não exibe o resto.
obrigado pela colaboração.
/**
- AtualizacaoUI.java
- Tela que mostra o progresso da atualização
*/
import javax.swing.;
import java.awt.event.;
public class AtualizacaoUI {
private static JLabel tituloAtualizadorVersao;
private static JLabel logoAprimora;
private static JPanel painelAtualizacao;
private static JPanel painelStatus;
private static JLabel statusAtualizacaoArquivos;
private static JLabel statusAtualizacaoBD;
private static JLabel statusInciarAprimora;
private static JLabel statusParaAprimora;
private static JLabel statusRecuperacaoAtividades;
private static JLabel barraProgessoTitulo;
private static JProgressBar barraProgresso;
private static JButton btnCancelar;
// Método construtor
public AtualizacaoUI() {
construirAtualizacaoUI();
}
public AtualizacaoUI(String controle) {
}
/* construirAtualizacaoUI()
* Gera a tela de status da atualização
* @return JPane da tela de atualização
*/
public JPanel construirAtualizacaoUI() {
painelAtualizacao = new JPanel();
logoAprimora = new JLabel();
tituloAtualizadorVersao = new JLabel();
painelStatus = new JPanel();
statusParaAprimora = new JLabel();
statusAtualizacaoArquivos = new JLabel();
statusAtualizacaoBD = new JLabel();
statusInciarAprimora = new JLabel();
barraProgessoTitulo = new JLabel();
statusRecuperacaoAtividades = new JLabel();
barraProgresso = new JProgressBar();
btnCancelar = new JButton();
painelAtualizacao.setBackground(new java.awt.Color(255, 255, 255));
painelAtualizacao.setPreferredSize(new java.awt.Dimension(400, 286));
logoAprimora.setIcon(new javax.swing.ImageIcon(getClass().getResource("logo_aprimora.png"))); // NOI18N
tituloAtualizadorVersao.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
tituloAtualizadorVersao.setText(AtualizadorUI.ATUALIZADOR_TITULO);
painelStatus.setBackground(new java.awt.Color(255, 255, 255));
painelStatus.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(204, 204, 204), 1, true));
statusParaAprimora.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
statusParaAprimora.setIcon(new javax.swing.ImageIcon(getClass().getResource("icone_blank.JPG"))); // NOI18N
statusParaAprimora.setText("Parar Aprimora.");
statusAtualizacaoArquivos.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
statusAtualizacaoArquivos.setIcon(new javax.swing.ImageIcon(getClass().getResource("icone_blank.JPG"))); // NOI18N
statusAtualizacaoArquivos.setText("Atualização de arquivos.");
statusAtualizacaoBD.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
statusAtualizacaoBD.setIcon(new javax.swing.ImageIcon(getClass().getResource("icone_blank.JPG"))); // NOI18N
statusAtualizacaoBD.setText("Atualização de banco de dados.");
statusRecuperacaoAtividades.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
statusRecuperacaoAtividades.setIcon(new javax.swing.ImageIcon(getClass().getResource("icone_blank.JPG"))); // NOI18N
statusRecuperacaoAtividades.setText("Recuperação de atividades");
statusInciarAprimora.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
statusInciarAprimora.setIcon(new javax.swing.ImageIcon(getClass().getResource("icone_blank.JPG"))); // NOI18N
statusInciarAprimora.setText("");
barraProgresso.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
barraProgresso.setValue(0);
barraProgresso.setStringPainted(true);
btnCancelar.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
btnCancelar.setText("Cancelar");
barraProgessoTitulo.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
//propriedade da label de titulo.
barraProgessoTitulo.setText("Status da atualização:");
/* Ação do botão Cancelar
* Função declarara na classe AtualizadorUI, instanciadora do botão
*/
btnCancelar.addActionListener(new ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
AtualizadorUI.btnCancelarActionPerformed(evt);
}
});
statusInciarAprimora.setVisible(true);
/*Posicionamento dos componentes*/
javax.swing.GroupLayout painelStatusLayout = new javax.swing.GroupLayout(painelStatus);
painelStatus.setLayout(painelStatusLayout);
painelStatusLayout.setHorizontalGroup(
/*Retorna o painel criado*/
return painelAtualizacao;
}
public static void atualizaBarraProgresso(int valor) {
barraProgresso.setValue(valor);
}
public static int getBarraProgressoValor(){
return barraProgresso.getValue();
}
public void setStatusIniciarAprimora(int valor) {
if (valor == 1){
statusInciarAprimora.setIcon(new javax.swing.ImageIcon(getClass().getResource("icone_ok.JPG"))); // NOI18N
} else {
statusInciarAprimora.setIcon(new javax.swing.ImageIcon(getClass().getResource("icone_erro.gif"))); // NOI18N
}
}
public void setStatusPararAprimora(int valor) {
if (valor == 1){
statusParaAprimora.setIcon(new javax.swing.ImageIcon(getClass().getResource("icone_ok.JPG"))); // NOI18N
} else {
statusParaAprimora.setIcon(new javax.swing.ImageIcon(getClass().getResource("icone_erro.gif"))); // NOI18N
}
}
public void setStatusAtualizarArquivos(int valor) {
if (valor == 1){
statusAtualizacaoArquivos.setIcon(new javax.swing.ImageIcon(getClass().getResource("icone_ok.JPG"))); // NOI18N
} else {
statusAtualizacaoArquivos.setIcon(new javax.swing.ImageIcon(getClass().getResource("icone_erro.gif"))); // NOI18N
}
}
public void setStatusAtualizarAtividades(int valor) {
if (valor == 1){
statusRecuperacaoAtividades.setIcon(new javax.swing.ImageIcon(getClass().getResource("icone_ok.JPG"))); // NOI18N
} else {
statusRecuperacaoAtividades.setIcon(new javax.swing.ImageIcon(getClass().getResource("icone_erro.gif"))); // NOI18N
}
}
public void setStatusAtualizarBD(int valor) {
if (valor == 1){
statusAtualizacaoBD.setIcon(new javax.swing.ImageIcon(getClass().getResource("icone_ok.JPG"))); // NOI18N
} else {
statusAtualizacaoBD.setIcon(new javax.swing.ImageIcon(getClass().getResource("icone_erro.gif"))); // NOI18N
}
}
public static void atualizaBarraProgressoTitulo(String texto){
//JOptionPane.showMessageDialog(null, texto);
barraProgessoTitulo.setText(texto);
//barraProgessoTitulo.revalidate();
//barraProgresso.repaint();
//System.out.println(texto);
//barraProgessoTitulo.repaint();
//barraProgessoTitulo.updateUI();
//barraProgessoTitulo.paintAll(barraProgessoTitulo.getGraphics());
}
}