Barra de Carregamento em Java

import java.awt.Cursor;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JProgressBar;

 /*Este programa simula o carregamento de uma página*/
 // Autor: João Matheus Santos Assis

public class Carregamento extends JFrame{
   
    private JProgressBar Barra_de_Carregamento = new JProgressBar();
    private JButton Iniciar = new JButton("Inicializar");
   
    // Fonte a ser utilizada no JLabel
    private Font Fonte = new Font("Lucida Console", Font.PLAIN, 18);
    private JLabel Status = new JLabel();
   
    public Carregamento(){
        super("Tela de carregamento...");
           
        // Layout do JFrame
            setLayout(new FlowLayout());
       
        // Propriedades da janela
        this.setSize(300,120);
        // Localização do programa na tela
        this.setLocation(100,100);
        this.setResizable(false);
        this.setVisible(true);
     
      // Quando true é exibido o percentual no carregamento
      Barra_de_Carregamento.setStringPainted(true);    
      this.add(Barra_de_Carregamento);
     
     
      this.add(Iniciar);
      Status.setFont(Fonte);
      this.add(Status);
   
   
    // Eventos que aconteceram ao click no botão Iniciar
    Iniciar.addActionListener(new ActionListener(){
       
        public void actionPerformed(ActionEvent event) {
           
            Rectangle progresso = Barra_de_Carregamento.getBounds();  
            progresso.x = 0;  
            progresso.y = 0;  
           
            Barra_de_Carregamento.setValue(0);  
            // Barra de carregamento tem valor mínimo igual a zero
            Barra_de_Carregamento.setMinimum(0);  
            // Barra de carregamento tem valor máximo igual a cem
            Barra_de_Carregamento.setMaximum(100);
         
           
          // Modifica o cursor para indicar carregamento
          setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));         
         
             for(int i=0 ; i <= 100 ; i++){
                // 0,1 segundos equivale a 1% da barra de carregamento
                try {Thread.sleep(100);} catch (InterruptedException Ig) {}
                // Atualizando o valor da barra de carregamento
                Barra_de_Carregamento.setValue(i);
                Barra_de_Carregamento.paintImmediately(progresso); 
             }
         
          // Devolve o cursor a forma inicial
          setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
          // Mensagem é exibida ao fim do primeiro carregamento
          Status.setText("Carregamento Concluido.");
         
        }
    });
     
    }
   
    public static void main(String[] args) {
        new Carregamento();
    }
   
}


Palavras-chaves: JProgressBar-Iniciar-Sleep-Cursor-Java.


Artigos relacionados em Java:



Feito no NetBeans-5.5.1 | Executável

Feito no NetBeans-5.5.1 | Executável