When I run this loading bar script the bar doesn't load and then it loads to the maximum. how come this load bar doesn't work thanks for the help.

// The "LoadBar" class.
import java.awt.*;
import hsa.Console;

public class LoadBar
{
    static Console c;           // The output console

    public static void main (String[] args)
    {
	c = new Console ();

	double load;
	int loaded, total, a, loadbar;
	a = 0;
	total = 100;
	loaded = 0;
	Font loading = new Font ("Ariel", Font.BOLD, 30);

	while (a == 0)
	{
	    int i = 0;
	    c.clear ();
	    load = (loaded * 100) / total;
	    loadbar = (int) Math.round (load);
	    c.setColor (Color.green);
	    c.fillRect (10, 75, loadbar, 10);
	    c.setColor (Color.black);
	    c.setFont (loading);
	    c.drawString ("Loading", 250, 50);
	    
	    for (i = 0 ; i <= 1000000000 ; i++)
	    
	    loaded = loaded + 1;
	}


	// Place your program here.  'c' is the output console
    } // main method
} // LoadBar class

Recommended Answers

All 2 Replies

The problem is the for loop. Before it executes, loaded=0 so there's nothing to draw, and after it will be something like 1000000001. Only then will the bar be drawn again.

I fixed it by putting loaded = loaded in the for loop and then adding one to it after the loop. I made an if statement that says when the loaded = 50 then it prints done loading and exits the while loop. thanks for the help.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.