我有一个问题如下:
我编写了一个简单的简约应用程序,它使用 SWT 作为 GUI。
在特定选项卡中,它显示一个通过 REST Api 调用填充信息的表格。另外,我还有另一种方法将此表导出到 CSV 文件中。
这绝对没问题。现在我需要某种自动更新/导出,为此我实现了一个 Swing-Worker,如下所示:
protected class AutoExportWorker extends SwingWorker<Integer, String> {
@Override
public Integer doInBackground() throws Exception {
System.out.println("Worker Start!");
while (true) {
System.out.println("In Loop");
//updateTable();
//exportToCSV();
for (int i = 0; i<interval;i++) {
System.out.println(interval - i);
Thread.sleep(1000);
}
}
}
该类是 Composite 的子类,它查看表并包含方法“updateTable()”和“exportsToCSV()”。现在我知道当我调用这些方法时,这个工作人员并没有做太多事情,但我不知道如何正确地做到这一点。你有什么提示给我吗?
此致!
如果您使用 Eclipse RCP,则应该使用Jobs API http://www.vogella.com/articles/EclipseJobs/article.html#eclipsejobs_jobs。在普通的 SWT 中,没有内置的解决方案。你需要使用Display.asyncExec http://help.eclipse.org/indigo/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/Display.html更新表。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)