Swt/Jface进度条 (转)

摘要:
display.readAndDispatch())display.sleep();}}}2,反复循环的进度条importjava.lang.reflect.InvocationTargetException;importorg.eclipse.core.runtime.IProgressMonitor;importorg.eclipse.jface.dialogs.ProgressMonitorDialog;importorg.eclipse.jface.operation.IRunnableWithProgress;importorg.eclipse.swt.widgets.Display;importorg.eclipse.swt.widgets.Shell;publicclassTestProgress{staticbooleanstopflg=false;/***//***Launchtheapplication*@paramargs*/publicstaticvoidmainthrowsException{finalDisplaydisplay=Display.getDefault();finalShellshell=newShell();shell.setSize;shell.setText;//IRunnableWithProgressrunnable=newIRunnableWithProgress(){publicvoidrunthrowsInvocationTargetException,InterruptedException{monitor.beginTask;inti=0;while{if{break;}i++;if{i=0;monitor.beginTask;}monitor.worked;Thread.sleep;}monitor.done();}};newProgressMonitorDialog.run;shell.open();shell.layout();while(!如果做一个cool的进度条,就看你如何让进度条显示出实际的任务进程。

处理长时间的任务的时候常需要进度条显示,有几种实现方式
1,普通的进度条

Swt/Jface进度条 (转)第1张importjava.lang.reflect.InvocationTargetException;
Swt/Jface进度条 (转)第1张
Swt/Jface进度条 (转)第1张
importorg.eclipse.core.runtime.IProgressMonitor;
Swt/Jface进度条 (转)第1张
importorg.eclipse.jface.dialogs.ProgressMonitorDialog;
Swt/Jface进度条 (转)第1张
importorg.eclipse.jface.operation.IRunnableWithProgress;
Swt/Jface进度条 (转)第1张
importorg.eclipse.swt.widgets.Display;
Swt/Jface进度条 (转)第1张
importorg.eclipse.swt.widgets.Shell;
Swt/Jface进度条 (转)第1张
Swt/Jface进度条 (转)第1张
Swt/Jface进度条 (转)第10张Swt/Jface进度条 (转)第11张
publicclassTestProgressSwt/Jface进度条 (转)第12张{
Swt/Jface进度条 (转)第13张
staticbooleanstopflg=false;
Swt/Jface进度条 (转)第14张Swt/Jface进度条 (转)第15张
/***//**
Swt/Jface进度条 (转)第13张*Launchtheapplication
Swt/Jface进度条 (转)第13张*
@paramargs
Swt/Jface进度条 (转)第18张
*/

Swt/Jface进度条 (转)第14张Swt/Jface进度条 (转)第15张
publicstaticvoidmain(String[]args)throwsExceptionSwt/Jface进度条 (转)第12张{
Swt/Jface进度条 (转)第13张
finalDisplaydisplay=Display.getDefault();
Swt/Jface进度条 (转)第13张
finalShellshell=newShell();
Swt/Jface进度条 (转)第13张shell.setSize(
500,375);
Swt/Jface进度条 (转)第13张shell.setText(
"SWTApplication");
Swt/Jface进度条 (转)第13张
Swt/Jface进度条 (转)第13张
//
Swt/Jface进度条 (转)第14张Swt/Jface进度条 (转)第15张
IRunnableWithProgressrunnable=newIRunnableWithProgress()Swt/Jface进度条 (转)第12张{
Swt/Jface进度条 (转)第14张Swt/Jface进度条 (转)第15张
publicvoidrun(IProgressMonitormonitor)throwsInvocationTargetException,InterruptedExceptionSwt/Jface进度条 (转)第12张{
Swt/Jface进度条 (转)第13张monitor.beginTask(
"generate",30);
Swt/Jface进度条 (转)第14张Swt/Jface进度条 (转)第15张
for(inti=0;i<100;i++)Swt/Jface进度条 (转)第12张{
Swt/Jface进度条 (转)第14张Swt/Jface进度条 (转)第15张
if(monitor.isCanceled())Swt/Jface进度条 (转)第12张{
Swt/Jface进度条 (转)第13张
return;
Swt/Jface进度条 (转)第18张}

Swt/Jface进度条 (转)第13张monitor.worked(
1);
Swt/Jface进度条 (转)第13张Thread.sleep(
50);
Swt/Jface进度条 (转)第18张}

Swt/Jface进度条 (转)第13张
Swt/Jface进度条 (转)第13张monitor.done();
Swt/Jface进度条 (转)第18张}

Swt/Jface进度条 (转)第18张}
;
Swt/Jface进度条 (转)第13张
newProgressMonitorDialog(shell).run(true,true,runnable);
Swt/Jface进度条 (转)第13张shell.open();
Swt/Jface进度条 (转)第13张shell.layout();
Swt/Jface进度条 (转)第14张Swt/Jface进度条 (转)第15张
while(!shell.isDisposed())Swt/Jface进度条 (转)第12张{
Swt/Jface进度条 (转)第13张
if(!display.readAndDispatch())
Swt/Jface进度条 (转)第13张display.sleep();
Swt/Jface进度条 (转)第18张}

Swt/Jface进度条 (转)第18张}

Swt/Jface进度条 (转)第13张
Swt/Jface进度条 (转)第61张}

Swt/Jface进度条 (转)第1张

2,反复循环的进度条

Swt/Jface进度条 (转)第1张importjava.lang.reflect.InvocationTargetException;
Swt/Jface进度条 (转)第1张
Swt/Jface进度条 (转)第1张
importorg.eclipse.core.runtime.IProgressMonitor;
Swt/Jface进度条 (转)第1张
importorg.eclipse.jface.dialogs.ProgressMonitorDialog;
Swt/Jface进度条 (转)第1张
importorg.eclipse.jface.operation.IRunnableWithProgress;
Swt/Jface进度条 (转)第1张
importorg.eclipse.swt.widgets.Display;
Swt/Jface进度条 (转)第1张
importorg.eclipse.swt.widgets.Shell;
Swt/Jface进度条 (转)第1张
Swt/Jface进度条 (转)第1张
Swt/Jface进度条 (转)第10张Swt/Jface进度条 (转)第11张
publicclassTestProgressSwt/Jface进度条 (转)第12张{
Swt/Jface进度条 (转)第13张
staticbooleanstopflg=false;
Swt/Jface进度条 (转)第14张Swt/Jface进度条 (转)第15张
/***//**
Swt/Jface进度条 (转)第13张*Launchtheapplication
Swt/Jface进度条 (转)第13张*
@paramargs
Swt/Jface进度条 (转)第18张
*/

Swt/Jface进度条 (转)第14张Swt/Jface进度条 (转)第15张
publicstaticvoidmain(String[]args)throwsExceptionSwt/Jface进度条 (转)第12张{
Swt/Jface进度条 (转)第13张
finalDisplaydisplay=Display.getDefault();
Swt/Jface进度条 (转)第13张
finalShellshell=newShell();
Swt/Jface进度条 (转)第13张shell.setSize(
500,375);
Swt/Jface进度条 (转)第13张shell.setText(
"SWTApplication");
Swt/Jface进度条 (转)第13张
Swt/Jface进度条 (转)第13张
//
Swt/Jface进度条 (转)第14张Swt/Jface进度条 (转)第15张
IRunnableWithProgressrunnable=newIRunnableWithProgress()Swt/Jface进度条 (转)第12张{
Swt/Jface进度条 (转)第14张Swt/Jface进度条 (转)第15张
publicvoidrun(IProgressMonitormonitor)throwsInvocationTargetException,InterruptedExceptionSwt/Jface进度条 (转)第12张{
Swt/Jface进度条 (转)第13张monitor.beginTask(
"generate",30);
Swt/Jface进度条 (转)第13张
inti=0;
Swt/Jface进度条 (转)第14张Swt/Jface进度条 (转)第15张
while(true)Swt/Jface进度条 (转)第12张{
Swt/Jface进度条 (转)第14张Swt/Jface进度条 (转)第15张
if(stopflg)Swt/Jface进度条 (转)第12张{
Swt/Jface进度条 (转)第13张
break;
Swt/Jface进度条 (转)第18张}

Swt/Jface进度条 (转)第13张i
++;
Swt/Jface进度条 (转)第14张Swt/Jface进度条 (转)第15张
if(i==30)Swt/Jface进度条 (转)第12张{
Swt/Jface进度条 (转)第13张i
=0;
Swt/Jface进度条 (转)第13张monitor.beginTask(
"generate",30);
Swt/Jface进度条 (转)第18张}

Swt/Jface进度条 (转)第13张monitor.worked(
1);
Swt/Jface进度条 (转)第13张Thread.sleep(
100);
Swt/Jface进度条 (转)第18张}

Swt/Jface进度条 (转)第13张monitor.done();
Swt/Jface进度条 (转)第18张}

Swt/Jface进度条 (转)第18张}
;
Swt/Jface进度条 (转)第13张
newProgressMonitorDialog(shell).run(true,true,runnable);
Swt/Jface进度条 (转)第13张shell.open();
Swt/Jface进度条 (转)第13张shell.layout();
Swt/Jface进度条 (转)第14张Swt/Jface进度条 (转)第15张
while(!shell.isDisposed())Swt/Jface进度条 (转)第12张{
Swt/Jface进度条 (转)第13张
if(!display.readAndDispatch())
Swt/Jface进度条 (转)第13张display.sleep();
Swt/Jface进度条 (转)第18张}

Swt/Jface进度条 (转)第18张}

Swt/Jface进度条 (转)第13张
Swt/Jface进度条 (转)第61张}

Swt/Jface进度条 (转)第1张

3,rcp中后台任务的进度条
使用Job建立后台任务,只需要设置job.setUser(true)进度条就出现了,和上边一样,进度条需要自己来控制进度。如果做一个cool的进度条,就看你如何让进度条显示出实际的任务进程。

免责声明:文章转载自《Swt/Jface进度条 (转)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇nmon:linux性能监控工具编写简单的用户登录界面下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Linux cp强制覆盖解决办法

情景: 当在linux中执行cp命令时,有时候需要将一个目录中的所有文件覆盖其他一个目中的所有文件。 但是,使用cp -Rf 时还是会提示是否覆盖。 解决的方法是: shell>unalias cp 原因: 你执行: shell>alias 你会发现 alias cp=’cp -i’ 所以你需要注释掉cp 重新执行:shell>cp -R...

display:box,按比列划分,水平均分,及垂直等高

一、按比例划分 <div class="test"> <p id="p1">Hello</p> <p id="p2">W3School</p> </div> <style> .test{ display:-moz-box; display:-webkit-box; di...

eclipse下搭建shell脚本编辑器--安装开发shell的eclipse插件shelled

eclipse下搭建shell脚本编辑器--安装开发shell的eclipse插件shelled 1、安装“man-page viewer”插件(ShellEd需要,有的机器不需要,先装上) 安装地址:http://download.eclipse.org/technology/linuxtools/updates-nightly/ 2、安装“shel...

JS 页面弹窗,弹出DIV并使整个页面背景变暗的功能的实现代码

首先写一个遮罩层div,然后再写一个弹窗的div <!-- 遮罩层 --><div style="background: #000; position: absolute; left: 0px; top: 0px; 100%; filter: alpha(opacity=30); opacity: 0.3; display: non...

bat批处理下如何像shell一样将命令执行的效果赋值给变量

在bat下如何实现像shell一样,把执行命令行后的结果赋值给变量呐? 刚开始,可真难为到我了。随着对bat批处理知识熟悉的加深。 学习到了!!! 举个 栗子: svnlook  uuid  C:Repository est          # 这行命令什么意思呐。它是svn服务器的命令(因为最近在搞svn的东西啦)。                  ...

后渗透工具Empire使用教程

一、前言 Empire是一个PowerShell后期漏洞利用代理工具同时也是一款很强大的后渗透测神器,它建立在密码学、安全通信和灵活的架构之上。Empire实现了无需powershell.exe就可运行PowerShell代理的功能。快速部署后期漏洞利用模块,从键盘记录器到Mimikatz,并且能够适应通信躲避网络检测,所有的这些功能都封装在一个以实用性为...