Update a progress bar from the UI thread : ProgressBar « SWT « Java Tutorial






Update a progress bar from the UI thread
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.ProgressBar;
import org.eclipse.swt.widgets.Shell;

public class ProgressBarUpdateUIThread {

  public static void main(String[] args) {
    Display display = new Display();
    Shell shell = new Shell(display);
    ProgressBar bar = new ProgressBar(shell, SWT.SMOOTH);
    bar.setBounds(10, 10, 200, 32);
    shell.open();
    for (int i = 0; i <= bar.getMaximum(); i++) {
      try {
        Thread.sleep(100);
      } catch (Throwable th) {
      }
      bar.setSelection(i);
    }
    while (!shell.isDisposed()) {
      if (!display.readAndDispatch())
        display.sleep();
    }
    display.dispose();
  }
}








17.36.ProgressBar
17.36.1.Introducing ProgressBar
17.36.2.Using Thread to update ProgressBar valueUsing Thread to update ProgressBar value
17.36.3.Using the SWT.INDETERMINATE style: the operation is happening but doesn't know when it'll finish.Using the SWT.INDETERMINATE style: the operation is happening but doesn't know when it'll finish.
17.36.4.Update a progress bar from the UI threadUpdate a progress bar from the UI thread
17.36.5.Update a progress bar from another threadUpdate a progress bar from another thread