普通的进度条
import
java.lang.reflect.InvocationTargetException;
import
org.eclipse.core.runtime.IProgressMonitor;
import
org.eclipse.jface.dialogs.ProgressMonitorDialog;
import
org.eclipse.jface.operation.IRunnableWithProgress;
import
org.eclipse.swt.widgets.Display;
import
org.eclipse.swt.widgets.Shell;
public
class
TestProgress
{
static
boolean
stopflg
=
false
;
/** */
/**
* Launch the application
*
@param
args
*/
public
static
void
main(String[] args)
throws
Exception
{
final
Display display
=
Display.getDefault();
final
Shell shell
=
new
Shell();
shell.setSize(
500
,
375
);
shell.setText(
"
SWT Application
"
);
//
IRunnableWithProgress runnable
=
new
IRunnableWithProgress()
{
public
void
run(IProgressMonitor monitor)
throws
InvocationTargetException, InterruptedException
{
monitor.beginTask(
"
generate
"
,
30
);
for
(
int
i
=
0
;i
<
100
;i
++
)
{
if
(monitor.isCanceled())
{
return
;
}
monitor.worked(
1
);
Thread.sleep(
50
);
}
monitor.done();
}
}
;
new
ProgressMonitorDialog(shell).run(
true
,
true
, runnable);
shell.open();
shell.layout();
while
(
!
shell.isDisposed())
{
if
(
!
display.readAndDispatch())
display.sleep();
}
}
}





























































