SWT更新..我必须编写一个显示进度条的方法。如果我考虑方法。我应该将时间和界限作为方法的参数传递。
package ProgressViewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.MessageBox;
import org.eclipse.swt.widgets.ProgressBar;
import org.eclipse.swt.widgets.Shell;
public class PBMethod
{
private static Shell shell;
public static void Pv7( Shell shell2,final int num,final int xA,final int xB,final int xH,final int xW)
{
shell=shell2;
final ProgressBar bar = new ProgressBar(shell, SWT.NONE);
bar.setSize(1500, 1000);
shell.setLayout(new GridLayout());
shell.setSize(1500, 1000);
final Thread thread = new Thread()
{
public void run()
{
for(int i=0; i<=num; i++)
{
final int value = i;
try
{
Thread.sleep(50);
}
catch (Exception e){}
shell.getDisplay().asyncExec(new Runnable()
{
public void run()
{
bar.setBounds(xA,xB,xH,xW);
bar.setSelection(value);
}
});
}
shell.getDisplay().syncExec(new Runnable()
{
public void run()
{
bar.dispose();
MessageBox dialog1 = new MessageBox(shell, SWT.NONE| SWT.OK| SWT.CANCEL);
dialog1.setText("Information");
dialog1.setMessage("Saved Successfully");
dialog1.open();
}
});
}
};
thread.start();
}
}
这里上面的方法是传递边界和百分比..但不是时间..进度条应显示10秒..或15秒..我应该只给参数..
但是在发送的代码中,第二个参数用于进度条的完成百分比。 应该在进度查看器显示的时间传递参数,例如, 10秒10秒。如果我们想将其更改为15,那么参数值应该只会发生变化..
帮助会很感激!!!
答案 0 :(得分:0)
实际上,建立进度条是为了显示任务的进度,任务完成时间总是不同的,因此没有这样的方法需要花时间作为参数。 即使你找到了这样做的方法,也绝不是一个好习惯。