Simulando uma porcentagem no JProgressBar e NetBeans

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?

sim, vai muito rápido, coloque algo assim pra deixar mais devagar:

try { Thread.sleep(20); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); }

o 20 ali é que a thread vai esperar 20 ms antes de continuar, aí da tempo de ver o que ocorre, acho… qualquer coisa vai ajustando pra vc ver…

Sobre a imagem não sei…

flw

Não funcionou, a tela demora esse tempo para abrir, e não é possivel ver nada e fica no 100% direto, em uma situação real como eu definiria isso?

Vou te passar um codigo que simula o progresseBar é simples e facil de entender.

import java.awt.;
import java.awt.event.
;
import java.util.*;

import javax.swing.;
import javax.swing.Timer;
import javax.swing.event.
;

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++;
}

}

}

Beleza falou.

Muito bom, funcionou cara 5 estrelas.

E ai ficou bom o codigo.
Agora voce pode me ajudar voce sabe como eu faço para transformar uma imagem em icone.
Valeu

Hamses,

Se for da maneira tradicional posso te dar uma força…vamos lá:

Transformando uma imagem em ícone:

* Redimensionando a imagem.

  1. Selecione a imagem que você deseja que seja o ícone (geralmente é um logotipo);

    • Exemplo: logotipo.jpg
  2. 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)

  1. 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:
  2. 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?