0
我在我的RCP項目中有幾個視圖。Eclipse RCP:TableViewer setInput從另一個視圖
在一個視圖中,我有一個TableViewer
。
在另一種觀點,我有一個JFrame
與Button
。
我想在TableViewer
中使用setInput()
方法更新數據,當我在另一個視圖中按下按鈕時。
我該怎麼做?
編輯:
初始輸入表查看器:
tableViewer.setContentProvider(ArrayContentProvider.getInstance());
tableViewer.setLabelProvider(new TableLabelProvider());
tableViewer.setInput(TraceData.getTraceData()); // get realtime data
我的監聽器添加到TableViewer的聽的變化在GUI
listener = new ISelectionListener() {
public void selectionChanged(IWorkbenchPart part, ISelection sel) {
if (!(sel instanceof IStructuredSelection))
return;
IStructuredSelection ss = (IStructuredSelection) sel;
Object o = ss.getFirstElement();
if (o instanceof Book) // something else in place of Book
tableViewer.setInput(TraceData.getSavedTraceData());
}
};
getSite().getPage().addSelectionListener(listener);
而且問題是如何讓它對另一個視圖中的按鈕事件做出反應?這是如何播報JButton
新聞事件,然後在此TreeViewer
中收聽該事件。
不完全是我的意思。我編輯了我的帖子來澄清事情。 – 2c00L 2014-10-27 18:50:03
我會使用View view =(View)page.findView(View.ID);訪問視圖然後刷新方法。爲我工作。但是,這可能不是最好的方式。 – 2014-10-27 19:05:35
感謝您的回覆。我無法找到page.findView()方法。我也認爲聽衆是最好的方式。 – 2c00L 2014-10-29 14:05:52