我的Job类中的run方法做了一些事情(细节无关紧要)并输出2个双精度数组。
我想在结果视图中显示这些数组,我使用Table和2列创建这些数组,每列一个。
如何在run方法结束时(在Job类中)引用视图并在其中显示这些数组?
即使你无法帮助我答案,如果有人能指出我某个方向因为我不知道,我会很高兴。我唯一能想到的是事件处理,但我对此也不太了解。
class RunnerJob extends Job {
protected IStatus run(IProgressMonitor monitor) {
//does some stuff
double[] col1 = someStuff1();
double[] col2 = someStuff2();
//display in results view?
}
}
根据Suraj Chandran的回答,这是我用来引用视图的静态方法的代码,
display.syncExec(
new Runnable() {
public void run(){
try {
PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().showView(ResultsView.ID);
} catch (PartInitException e) {
e.printStackTrace();
}
ResultsView.update(<object with values>);
}
});
答案 0 :(得分:3)
使用observer pattern(请参阅example):
createPartControl()
中注册您的观看到Observable(或在
构造函数),不要忘记在dispose()
中取消注册。答案 1 :(得分:1)
在你的视图类中有一个类似于getInstance()的静态方法,它会返回对视图对象的引用。获得对象后,可以在其中设置数组。