-2

我有一个问题如下:

我编写了一个简单的简约应用程序,该应用程序将 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);

            }
        }   
    }

Class 是 Composite 的子类,它查看表并保存方法“updateTable()”和“exportsToCSV()”。现在我知道,当我调用这些方法时,这个 Worker 并没有做太多事情,但我不知道如何正确地做到这一点。你对我有什么提示吗?

此致!

4

1 回答 1

2

如果您使用的是 Eclipse RCP,则应该使用Jobs API。在普通的 SWT 中,没有内置的解决方案。您需要使用Display.asyncExec来更新表。

于 2013-05-23T13:08:34.773 回答