ProgressBar是SWT中的进度条组件。进度条提供了比较长时间操作的进度信息。添加ProgressBar组件的步骤如下:
(1)创建ProgressBar对象,并指定创建的样式,例如“ProgressBar pb1 = new ProgressBar (shell, SWT.HORIZONTAL | SWT.SMOOTH);”。
(2)设置ProgressBar的最大值和最小值,例如“pb1.setMaximum(30);”。
(3)在长时间的任务中设置当前进度条的进度,例如“progressBar.setSelection (progress Bar.getSelection() + 1);”。
进度条能反映当前的工作进度,为了配合处理长时间的任务,进度条经常配合线程使用,以免产生阻塞影响界面的操作。为了更好地掌握ProgressBar组件,下面通过一个实例演示如何创建ProgressBar组件,代码如例程13-17所示。
public class ProgressBarExample {
public static void main(String[] args) {
Display display = new Display();
Shell shell = new Shell(display);
shell.setLayout(new GridLayout());
//添加平滑的进度条
ProgressBar pb1 = new ProgressBar(shell, SWT.HORIZONTAL | SWT.SMOOTH);
pb1.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
//设置进度条的最小值
pb1.setMinimum(0);
//设置进度条的最大值
pb1.setMaximum(30);
//添加自动递增的进度条
ProgressBar pb2 = new ProgressBar(shell, SWT.HORIZONTAL |
SWT.INDETERMINATE);
pb2.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
//添加线程,在线程中处理长时间的任务,并最终反映在平滑进度条上
new LongRunningOperation(display, pb1).start();
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
}
}
class LongRunningOperation extends Thread {
private Display display;
private ProgressBar progressBar;
public LongRunningOperation(Display display, ProgressBar progressBar) {
this.display = display;
this.progressBar = progressBar;
}
public void run() {
//模仿长时间的任务
for (int i = 0; i < 30; i++) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
}
display.asyncExec(new Runnable() {
public void run() {
if (progressBar.isDisposed()) return;
//进度条递增
progressBar.setSelection(progressBar.getSelection() + 1);
}
});
}
}
}
以上代码添加了两个进度条,一个进度条为自动显示增加进度的信息(SWT.INDETERMINAT样式),另外一个进度条通过线程处理长时间的任务,并设定进度条的信息。
进度条有不同的样式,在程序中,开发人员可以控制进度条的进度,执行某些长时间的操作。
分享到:
相关推荐
带进度条(ProgressBar)的Notification
本文主要介绍android 进度条组件ProgressBar,这里整理进度条的实现代码和效果图,帮助大家学习理解Android 进度条的知识,有兴趣的小伙伴可以参考下
jquery 进度条插件progressbar 彩色可自定义进度条图片 动态变换进度效果
进度条样式在项目中经常可以见到,下面小编给大家分享Android三种方式实现ProgressBar自定义圆形进度条。 Android进度条有4种风格可以使用。 默认值是progressBarStyle。 设置成progressBarStyleSmall后,图标变小...
我们经常需要用到进度条(ProgressBar)用于显示进度信息。这时候我们可能就需要用到多线程,如果不采用多线程控制进度条,窗口很容易假死(无法适时看到进度信息)。下面我就简单结合一个我写的例子给大家做一个...
可以自定义进度条的背景颜色 帖子地址:https://blog.csdn.net/qq_38693757/article/details/125424168
jQuery UI 进度条(Progressbar) - 自定义标签加载...查看演示不确定的值不确定的进度条,并可在确定和不确定的样式之间切换。jQuery
主要为大家详细介绍了Android实现进度条(ProgressBar)的功能与用法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
winform 进度条 ProgressBar 带进度显示,带源码
【Android开发学习27】界面控件之进度条(ProgressBar)--代码,博客主页: http://blog.csdn.net/ypist.
PyQt 实现漂亮进度条 ProgressBar
自定义进度条控件 可更换进度条背景 效果图http://hi.csdn.net/attachment/201008/5/0_12810527710GJg.gif
1)进度条ProgressBar使用方法 1、在layout布局文件中创建ProgressBar控件 <ProgressBar nstyle=?android:attr/progressBarStyleHorizontal android:layout_width match_parent android:layout_height=wrap_content...
进度条, 占用程序很少, 方便监控循环执行情况
win8 小点进度条,自定义圆形进度条,wpf Progressbar进度条样式更改
DataGridView的进度条ProgressBar
WPF开发过程中少不了有些界面加载等待,不能没有过度界面处理你不然...这需要使用到各种样式的进度条过渡处理展示些细节提醒用户。有些参数的调整一味的使用文本框调整太生硬可以考虑使用滑动条,例如声音的调节等等。
NULL 博文链接:https://byandby.iteye.com/blog/816494
用jquery制作一个轻量级的动画进度条特效 progressbar 适用在统计记录与评论打分等的网页模块,带动画的进度条过程,让这 progressbar 进度条特效更加的有动感与逼真。