在SWT中,怎样设置progressbar

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在SWT中,怎样设置progressbar相关的知识,希望对你有一定的参考价值。

ProgressBar bar = new ProgressBar(table, SWT.HORIZONTAL
| SWT.SMOOTH);
bar.setSelection(0);
TableEditor editor = new TableEditor(table);
editor.grabHorizontal = editor.grabVertical = true;
editor.setEditor(bar, tableitem, PROGRESS_COL);
我通过以上代码将progressbar加入到了一个tableitem的PROGRESS_COL列,现在我有一个tableitem项,需要修改PROGRESS_COL列,怎么修改...

参考技术A eclipse中,右键你要导出的java文件(或目录,或工程),export/导出,选择java下的"jar文件"。然后会让你选择一些配置,很简单的。
然后导出的jar包就可以用来import了~
希望对你有帮助。

补充:
1.import的路径名要全阿。
2.没有在任何包下面的包不能被import。(也就是说一定要在java文件开头声明package xxx;之类的)
3.你要直接import的话不用打成jar包啊,用全部路径就可以import了,当然和第二点一样,一定要有包名。

数据导入CoreData期间如何显示progressBar?

【中文标题】数据导入CoreData期间如何显示progressBar?【英文标题】:How to show progressBar during data import into CoreData? 【发布时间】:2010-11-20 20:59:48 【问题描述】:

我正在将大量数据导入 CoreData。我想显示导入进度的进度条。

首先我要显示进度条。 然后我在数我要导入的数据。 然后我设置了一个 for 循环:

在这个 for 循环中,我首先设置了 coreData 对象。 然后我正在增加进度视图。

在这个循环之后,我保存了 coreData 对象并隐藏了 progressBar。

[self.progressView show];

int allFiles = [file count];
int currentFile = 1;

for(NSString *trackid in file) 
    [entidyDesc setName:[track objectForKey:@"theKey"]];
    float progress = [self convertAmountForProgressBar:currentFile maxNum:allFiles];
    self.progressView.progressBar.progress = progress;


[self.progressView hide];
[self.managedObjectContext save:nil];

(简体)

问题是,progressBar 没有更新。它显示,但在 for 循环完成后首先更新,而不是隐藏。因此,进度条仅在 for 循环之后显示。

任何想法如何解决这个问题?

【问题讨论】:

【参考方案1】:

在另一个线程中进行导入,并使用-[NSObject performSelectorOnMainThread:withObject:waitUntilDone:] 将进度信息发送到主线程。

享受调试并发问题的乐趣。

你也可以用 CATransactions 做一些可怕的事情,但我的印象是 UIKit 应该为你处理所有这些。

【讨论】:

+1 UI 在前端线程。前端线程上的任何长进程,比如一个大循环,都会冻结 UI,直到它完成。【参考方案2】:

您是否尝试过启用线程动画:

- (void)setUsesThreadedAnimation:(BOOL)flag

Apple 的documentation 中的更多信息。

【讨论】:

哦对不起,我不得不说我在 ios 上开发。 ios上有没有类似的东西?

以上是关于在SWT中,怎样设置progressbar的主要内容,如果未能解决你的问题,请参考以下文章

SWT中Label字体的大小如何设置

swt shell设置窗口位于屏幕中间

java用swt 如何建立选择文件夹路径的对话框?

SWT 独立滚动条小部件

SWT Canvas绘制动态图的问题

Myeclipse怎样安装Jface?