Galera, estou tentando simular uma porcentagem do JProgressBar, mas sempre printa a parte final ou seja 100%, como enchergar o andamento disso desde de 1% a 100%, parece que é muito rápido.
int minimum = 0;
int maximum = 100;
// Overlay a string showing the percentage done
jProgressBar1 = new javax.swing.JProgressBar(minimum, maximum);
// Set the value; the new value will be forced into the bar's range
for(int i = 0; i<=100;i++){
int newValue = i;
jProgressBar1.setValue(newValue);
jProgressBar1.setStringPainted(true);
}
O outra pergunta, consigo adicionar uma imagem pela palheta de opções do NetBeans?
public class ProgressBar
{
public static void main(String[] args)
{
JFrame frame = new ProgressBarFrame();
frame.show();
}
}
class ProgressBarFrame extends JFrame
{
private Timer activitMonitor;
private JButton startButton;
private JTextArea textArea;
private JProgressBar progressBar;
private SimulatedActivity activity;
public ProgressBarFrame()
{
setTitle("ProgressBar");
setSize(300,200);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
Container contentPane = getContentPane();
// esta área de texto contém o resultado gerado pela atividade
textArea = new JTextArea();
//configura o painel com botão e barra de progresso
JPanel panel = new JPanel();
startButton = new JButton();
progressBar = new JProgressBar();
panel.add(startButton);
panel.add(progressBar);
contentPane.add(new JScrollPane(textArea),"Center");
contentPane.add(panel,"South");
//configura a ação do botão
startButton.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
progressBar.setMaximum(100);
activity = new SimulatedActivity(1000);
activity.start();
activitMonitor.start();
startButton.setEnabled(false);
}
});
//configura a ação do temporizador
activitMonitor = new Timer(500,new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
int current = activity.getCurrent();
//textArea.append(current + "\n");
progressBar.setString("JESUS TE AMA");
progressBar.setValue(current);
if(current == activity.getTarget())
{
activitMonitor.stop();
startButton.setEnabled(true);
}
}
});
}
}
class SimulatedActivity extends Thread
{
private int current,target;
public SimulatedActivity(int t)
{
current = 0;
target = t;
}
public int getCurrent()
{
return current;
}
public int getTarget()
{
return target;
}
public void run()
{
while(current < target && !interrupted())
{
try{
sleep(100);
}catch(InterruptedException e){
return;
}
current++;
}
Se for da maneira tradicional posso te dar uma força…vamos lá:
Transformando uma imagem em ícone:
* Redimensionando a imagem.
Selecione a imagem que você deseja que seja o ícone (geralmente é um logotipo);
Exemplo: logotipo.jpg
Abra a imagem no programa de edição que preferir e reduza a mesma para o tamanho 16x16 ou 32x32 (pixels) e salve;
* Transformando o JPG em ícone (.ICO)
No programa Paint do Windows, abra o arquivo logotipo.jg;
Abra o arquivo Logotipo.jpg já redimensionado (32x32 pixels) e salve com a seguinte opção:
Salvar como…: Bitmap de 256 cores (*.bmp, *dib)
Nome do arquivo: Logotipo.ico (neste caso o paint salva com o nome e extensão que você desejar)
Botão Salvar
Se for isso mesmo que estava procurando, espero que ajude…
Até mais…
Estou usando NetBeans tb.Minha dúvida é o seguinte:
Quero colocar um progressBar no meu Form para mostrar o tempo que uma determinada consulta levará para ser finalizada.
Tenho que associar de alguma forma a thread com o progress bar?