- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个问题。在我的(基于 eclipse 4)GUI 上我有两个对象:
Button button = new Button(groupInitialize, SWT.NONE);
ProgressBar bar= new ProgressBar(group, SWT.SMOOTH);
我为该按钮设置了一个监听器,以便每当按下该按钮时都会开始详细说明。在此阐述过程中,必须更新状态栏。
// Button listener definition!
button .addListener(SWT.Selection, new Listener() {
@Override
public void handleEvent(final Event event) {
Runnable run = new Runnable() {
@Override
public void run() {
Display display = PlatformUI.getWorkbench().getDisplay();
display.asyncExec(new Runnable() {
public void run() {
myLongLastingMethod();
}
});
}
};
new Thread(run).start();
}
});
这就是我在 myLongLastingMethod() 中所做的:
private void myLongLastingMethod() {
action1();
update();
action2();
update();
action3();
update();
}
最后是更新方法(应该更新进度条):
已更新
private void update() {
if (progressBar.isDisposed()) {
return;
}
int selection = progressBar.getSelection();
progressBar.setSelection(++selection);
}
我确定我做错了什么...知道/帮助为什么它不起作用?
最佳答案
您的后台线程Runnable
正在使用display.asyncExec
来调用您的长时间运行的方法。 display.asyncExec
在用户界面线程中运行代码,因此当该代码运行时,UI 中不会发生任何其他事情。您应该只使用 asyncExec
运行更新 UI 的短代码。
只需在后台线程中直接调用 myLongLastingMethod
即可,无需调用 asyncExec
。
所以:
public void handleEvent(final Event event) {
Runnable run = new Runnable() {
@Override
public void run() {
myLongLastingMethod();
}
};
new Thread(run).start();
}
关于java - 进度条未及时更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36647738/
我正在尝试使用 jsmart渲染Smarty客户端有 3 个模板。如果您没有使用它们的经验,请继续阅读,因为这可能只是我犯的一个简单的 JavaScript 错误。 它适用于简单的模板: 我创建模板(
对于每个 http 请求,ASP .NET 页面是否及时编译(JITting),或者在第一次请求页面时,或者在应用程序启动时编译? 我找不到任何相关资源。 最佳答案 ASP.NET automatic
我正在使用 Pandas 来管理一组具有多个属性的文件: import pandas as pd data = {'Objtype' : ['bias', 'bias', 'flat', 'fla
有没有办法找出单循环动画 GIF 需要多长时间才能完成? 最佳答案 好吧,具体情况取决于您使用什么接口(interface)来操作这些动画 GIF(我不知道原生 Java/AWT/Swing 中真正巧
我有三个相关列:时间、ID 和交互。我如何创建一个新列,其 id 值在给定时间窗口中的“交互”列中为“1”? 应该看起来像这样: time id vec_len quadrant int
我是一名优秀的程序员,十分优秀!