Eclipse RCP视图选项卡选择

Eclipse RCP视图选项卡选择,eclipse,view,rcp,Eclipse,View,Rcp,我使用多个视图来显示多个表查看器。 我想要的工作或功能是,当用户单击“视图”选项卡时, 应在表中填充取决于视图的所需数据 有什么合适的活动可以这样做吗 我想在用户选择特定视图选项卡时加载数据。 我使用了这两个事件来加载此数据 首先- getViewSite().getPage().addSelectionListener(新的ISelectionListener()){ @凌驾 公共无效选择已更改(IWorkbenchPart部分,ISelection){ } }); 对于此事件,将激发所有视

我使用多个视图来显示多个表查看器。 我想要的工作或功能是,当用户单击“视图”选项卡时, 应在表中填充取决于视图的所需数据

有什么合适的活动可以这样做吗

我想在用户选择特定视图选项卡时加载数据。 我使用了这两个事件来加载此数据

首先-

getViewSite().getPage().addSelectionListener(新的ISelectionListener()){

@凌驾

公共无效选择已更改(IWorkbenchPart部分,ISelection){

} });

对于此事件,将激发所有视图的selectionChanged()方法并 在所有视图中加载数据

第二-

getSite().getPage().addPartListener(partListener)

})

为此,在创建视图时加载数据


但是,当用户选择特定的视图选项卡时,我想在tableviewer中加载数据。您可以使用
org.eclipse.ui.IPartListener
来监听视图部分是否被激活。使用:

getSite().getPage().addPartListener(partListener);
在视图部分中设置侦听器

激活视图时会调用
partActivated
方法(
partBroughtToTop
有时也会调用)


注意:您需要检查部件是否确实是您的视图,因为您将收到所有部件的事件。

您可以使用
org.eclipse.ui.IPartListener
侦听视图部件是否激活。使用:

getSite().getPage().addPartListener(partListener);
在视图部分中设置侦听器

激活视图时会调用
partActivated
方法(
partBroughtToTop
有时也会调用)


注意:您需要检查零件是否是您的视图,因为您将收到所有零件的事件。

表格在哪里?图片可能有助于我们理解。每个视图中都有表格。当我选择一个特定的视图,然后在所选视图表上填充数据时,我也在寻找相同的解决方案。表在哪里?图片可能有助于我们理解。每个视图中都有表格。当我选择一个特定的视图,然后在所选视图表上填充数据时,我也在考虑相同的解决方案。
private IPartListener partListener = new IPartListener() {
  public void partActivated(IWorkbenchPart part) {

  }
  public void partBroughtToTop(IWorkbenchPart part) {
  }
  public void partClosed(IWorkbenchPart part) {
  }
  public void partDeactivated(IWorkbenchPart part) {
  }
  public void partOpened(IWorkbenchPart part) {
   //writing code here to fill TableViewer
  }