Random Progress in JProgressBar
Here is a sample tutorial, to randomize JProgressBar progress speed.
Randomize Progress - Example
import javax.swing.*;
import java.awt.*;
import java.util.*;
class RandomProgressbar extends JFrame implements Runnable
{
JProgressBar jb;
Thread t;
Random r;
public RandomProgressbar()
{
setTitle("Random Progress in ProgressBar");
setLayout(new GridBagLayout());
setSize(400,400);
setLocationRelativeTo(null);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
jb=new JProgressBar();
jb.setStringPainted(true);
r=new Random();
t=new Thread(this);
t.start();
add(jb);
}
public static void main(String args[])
{
new RandomProgressbar();
}
public void run()
{
try
{
for(int i=1;i<=jb.getMaximum();i++)
{
jb.setValue(i);
int rnum=r.nextInt(100);
Thread.sleep(rnum);
// Print random number
System.out.println("Generated number : "+rnum);
// Loop forever
if(i==jb.getMaximum())
i=1;
}
}catch(Exception e){}
}
}
javax.swing.*: JFrame, JProgressBar used.
java.awt.*: GridBagLayout used.
java.util.*: Random class used.
jb.setStringPainted(true): Let the percent complete be visible.
t.start(): Start thread execution. Run is invoked.
jb.getMaximum(): Returns maximum value. Default: 100
jb.setValue(i): Update JProgressBar value to i (declared in loop).
r.nextInt(100): Returns random number from 0 to 100
Thread.sleep(rnum): Set random sleep time, for random speed.
Runnable interface: Contains run() method.