如何更新swt中的列值?

时间:2017-03-02 13:26:17

标签: java swt

我是JAVA SWT的新手,但是我设法创建了一个表,并使用contentProvider和labelProvider将值填充到表中。

现在我想更新未处理的状态列值 - >正在进行中 - >根据服务器返回的响应完成。

我怎样才能做到这一点?

当我在Google上搜索时,我找到了 display.syncExec 。但是当我尝试这个时,我得到 NullPointerException

public Thread refresh( final InvoiceShadow shadow, final GenericCommunicationResponse response, final List shadowList){

    return new Thread() {

    public void run() {

            display.syncExec( new Runnable() {

                public void run() {                     
                    refreshStatus( shadow, response,shadowList );
                }
            });         
        }
    };
}

public void refreshStatus( InvoiceShadow shadow, GenericCommunicationResponse response, List shadowList ){

    tableViewer.setInput(shadowList);

    if(response.isSuccess()){

        shadow.setStatus(new InvoiceStatusType("Varianced"));

    } else {
        shadow.setStatus(new InvoiceStatusType("NotVarianced"));        
    }

    tableViewer.refresh();
}

请帮助我,如果有任何其他方法更新专栏,请告诉我。

0 个答案:

没有答案