将所选对象从一个 jface 视图发送到另一个 jface 视图,同时导航到该对象
我在 jface 视图中有一个 jface tableviewer 表,用户可以单击 tableviewer 表的任何行,单击时视图必须导航到另一个视图,并将选定的行 ID 发送到导航的视图。 截至目前,我可以成功导航到另一个视图,并且还可以使用代码获取选定的行 ID
viewer.getTable().addListener(SWT.Selection, new Listener() {
@Override
public void handleEvent(Event e) {
try {
int selected = viewer.getTable().getSelectionIndex();
String selection = viewer.getTable().getItem(selected).getText(); PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().showView("E2E_tab_view.view5");
}
catch (PartInitException e1) { // TODO Auto-generated catch block
e1.printStackTrace();
} } });
,但无法在导航时将此选定的行 ID 发送到另一个视图。 有人可以帮我解决这个问题吗?
I have a jface tableviewer table in a jface view, user can click any row of the tableviewer table, on click the view must navigate to another view and also send selected row ID to the view navigated.
As of now I can navigate to another view successfully and also get the selected row ID with the code
viewer.getTable().addListener(SWT.Selection, new Listener() {
@Override
public void handleEvent(Event e) {
try {
int selected = viewer.getTable().getSelectionIndex();
String selection = viewer.getTable().getItem(selected).getText(); PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().showView("E2E_tab_view.view5");
}
catch (PartInitException e1) { // TODO Auto-generated catch block
e1.printStackTrace();
} } });
but unable to send this selected row ID to another view while navigation.
Could anybody help me with this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您不应直接引用其他视图,而应使用
ISelectionService
工作台页面。在第一个视图中,您将表查看器设置为其站点的选择提供程序:
在另一个视图中,您在
IWorkbenchPage
:在您的 监听器 您可以使用 IStructuredSelection 接口:
Instead of referring to the other view directly, you should utilize the
ISelectionService
of workbench page.In the first view, you set the table viewer to be the selection provider for its site:
In the other view you register a selection listener on the
IWorkbenchPage
:In your listener you can access the selected item using IStructuredSelection interface: