import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class TelaIntroducao extends JFrame {
public TelaIntroducao() {
new TelaLogar();
}
}
class Academia extends JFrame {
private JPanel jContentPane;
private JLabel lblSplash;
public Academia(JFrame nextFrame) {
initialize();
this.nextFrame = nextFrame;
}
private void initialize() {
setSize(550, 550);
setUndecorated(true);
setResizable(false);
setLocationRelativeTo(null);
setContentPane(getJContentPane());
closeTimer = new Timer (4000, new ActionListener() {
public void actionPerformed(ActionEvent e) {
Academia.this.dispose();
}
});
closeTimer.start();
this.addWindowListener(new WindowAdapter() {
public void windowClosed(WindowEvent e) {
closeTimer.stop();
nextFrame.setVisible(true);
}
});
}
private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
jContentPane.setBackground(Color.RED);
Icon bug = new ImageIcon("travelbug.gif");
JLabel l1 = new JLabel(new ImageIcon("C:\PPI\Introducao.jpg"));
jContentPane.add(l1);
}
return jContentPane;
}
private Timer closeTimer;
private JFrame nextFrame;
}
Inserindo barra de progresso[RESOLVIDO]
Olá amigos, preciso inserir uma barra de progresso em tela de apresentação que desenvolvi para um programa. Esta tela está com um temporizador de 4 segundos e depois aparecera a tela de login que criei. Como poderia colocar uma barra de progresso nessa primeira tela de apresentação com 4 segundos também? Alguém poderia em auxiliar, por favor?
Obrigado.
Vejam o código:
6 Respostas
E
package guj;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JProgressBar;
import javax.swing.SwingConstants;
import javax.swing.SwingUtilities;
import javax.swing.Timer;
public class ExemploSplashBarraProgresso extends JFrame {
private static final long serialVersionUID = 1L;
private JPanel jContentPane = null;
private JLabel lblSplash = null;
private JProgressBar prbProgresso = null;
private Timer timer = null;
public ExemploSplashBarraProgresso() {
super();
initialize();
}
private void initialize() {
this.setSize(375, 200);
this.setContentPane(getJContentPane());
this.setTitle("Exemplo de Splash com Barra de Progresso");
// Vou mostrar 100 passos (cada passo deve durar 4000 / 100 = 40 ms então)
// No último passo, só para facilitar, vou fechar esta janela, você pode fazer
// outra coisa.
timer = new Timer(40, new ActionListener() {
private int step = 0;
@Override
public void actionPerformed(ActionEvent e) {
step++;
prbProgresso.setValue(step);
if (step == 100) {
ExemploSplashBarraProgresso.this.dispose();
}
}
});
timer.start();
}
private JPanel getJContentPane() {
if (jContentPane == null) {
lblSplash = new JLabel();
lblSplash.setText("Splash!");
lblSplash.setHorizontalAlignment(SwingConstants.CENTER);
jContentPane = new JPanel();
jContentPane.setLayout(new BorderLayout());
jContentPane.add(lblSplash, BorderLayout.CENTER);
jContentPane.add(getPrbProgresso(), BorderLayout.SOUTH);
}
return jContentPane;
}
private JProgressBar getPrbProgresso() {
if (prbProgresso == null) {
prbProgresso = new JProgressBar();
}
return prbProgresso;
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
ExemploSplashBarraProgresso thisClass = new ExemploSplashBarraProgresso();
thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
thisClass.setVisible(true);
}
});
}
} // @jve:decl-index=0:visual-constraint="10,10"
Dê uma olhada como foi feito.

Beleza, muito bom!! Consegui resolver todos os problemas de telas, muito obrigado mesmo. Só mais uma coisa, teria como alterar a cor da barra de progresso? Obrigado.
Olá amigos, preciso inserir uma barra de progresso em tela de apresentação que desenvolvi para um programa. Esta tela está com um temporizador de 4 segundos e depois aparecera a tela de login que criei. Como poderia colocar uma barra de progresso nessa primeira tela de apresentação com 4 segundos também? Alguém poderia em auxiliar, por favor? Obrigado. Vejam o código:import java.awt.*; import javax.swing.*; import java.awt.event.*; public class TelaIntroducao extends JFrame { public TelaIntroducao() { new TelaLogar(); } } class Academia extends JFrame { private JPanel jContentPane; private JLabel lblSplash; public Academia(JFrame nextFrame) { initialize(); this.nextFrame = nextFrame; } private void initialize() { setSize(550, 550); setUndecorated(true); setResizable(false); setLocationRelativeTo(null); setContentPane(getJContentPane()); closeTimer = new Timer (4000, new ActionListener() { public void actionPerformed(ActionEvent e) { Academia.this.dispose(); } }); closeTimer.start(); this.addWindowListener(new WindowAdapter() { public void windowClosed(WindowEvent e) { closeTimer.stop(); nextFrame.setVisible(true); } }); } private JPanel getJContentPane() { if (jContentPane == null) { jContentPane = new JPanel(); jContentPane.setBackground(Color.RED); Icon bug = new ImageIcon("travelbug.gif"); JLabel l1 = new JLabel(new ImageIcon("C:\PPI\Introducao.jpg")); jContentPane.add(l1); } return jContentPane; } private Timer closeTimer; private JFrame nextFrame; }
E
A cor da sua barra de progresso é uma propriedade que depende do seu look & feel. É bom você dar uma procuradinha por “color JProgressBar” no Google.
(No caso particular do L&F Nimbus, essa cor é um pouco difícil de ajustar).
Correto, muito obrigado pela atenção. Você me ajudou muito.
Tem como me enviar o seu código para dar uma estuda e aprender como fazer o splash?
Criado 16 de junho de 2010
Ultima resposta 17 de set. de 2010
Respostas 6
Participantes 3
Alura POO: o que é programação orientada a objetos? Aprenda os conceitos básicos da programação orientada a objetos, como classes, objetos, herança, encapsulamento e polimorfismo, com exemplos.
Casa do Codigo Inteligencia Artificial e ChatGPT: Da revolucao dos... Por Fabricio Carraro — Casa do Codigo