ProgressBar Examples : ProgressBar « SWT JFace Eclipse « Java






ProgressBar Examples

ProgressBar Examples
/******************************************************************************
 * All Right Reserved. 
 * Copyright (c) 1998, 2004 Jackwind Li Guojie
 * 
 * Created on 2004-3-31 0:13:36 by JACK
 * $Id$
 * 
 *****************************************************************************/



import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.ProgressBar;
import org.eclipse.swt.widgets.Shell;

public class ProgressBarExamples {
  Display display = new Display();
  Shell shell = new Shell(display);

  public ProgressBarExamples() {
    init();
    
    ProgressBar pb1 = new ProgressBar(shell, SWT.NULL);
    final ProgressBar pb2 = new ProgressBar(shell, SWT.SMOOTH);
    ProgressBar pb3 = new ProgressBar(shell, SWT.INDETERMINATE);
    
//    pb2.addPaintListener(new PaintListener() {
//      public void paintControl(PaintEvent e) {
//        Point point = pb2.getSize();
//        
//        Font font = new Font(shell.getDisplay(),"Courier",10,SWT.BOLD);
//        e.gc.setFont(font);
//        e.gc.setForeground(shell.getDisplay().getSystemColor(SWT.COLOR_WHITE));
//        
//        FontMetrics fontMetrics = e.gc.getFontMetrics();
//        int stringWidth = fontMetrics.getAverageCharWidth() * 4;
//        int stringHeight = fontMetrics.getHeight();
//        
//        e.gc.drawString("60%", (point.x-stringWidth)/2 , (point.y-stringHeight)/2, true);
//        font.dispose();
//      }
//    });
    
    pb1.setSelection(60);
    pb2.setSelection(60);
    
    pb1.setBounds(100, 10, 200, 20);
    pb2.setBounds(100, 40, 200, 20);
    //pb3.setBounds(100, 70, 200, 20);
    
    Label label = new Label(shell, SWT.NULL);
    label.setText("(default)");
    Label label2 = new Label(shell, SWT.NULL);
    label2.setText("SWT.SMOOTH");
    
    label.setAlignment(SWT.RIGHT);
    label2.setAlignment(SWT.RIGHT);

    label.setBounds(10, 10, 80, 20);
    label2.setBounds(10, 40, 80, 20);
    
    shell.pack();
    shell.open();
    //textUser.forceFocus();

    // Set up the event loop.
    while (!shell.isDisposed()) {
      if (!display.readAndDispatch()) {
        // If no more entries in event queue
        display.sleep();
      }
    }

    display.dispose();
  }

  private void init() {

  }

  public static void main(String[] args) {
    new ProgressBarExamples();
  }
}



           
       








Related examples in the same category

1.A progress bar dialogA progress bar dialog
2.Update a SWT progress bar (from another thread)Update a SWT progress bar (from another thread)
3.Update a progress bar (from the UI thread)Update a progress bar (from the UI thread)
4.Count NumbersCount Numbers
5.Demonstrates ProgressBarDemonstrates ProgressBar
6.ProgressBar ExampleProgressBar Example