gpt4 book ai didi

java - 将所选对象从一个 jface View 发送到另一个 jface View ,同时导航到该对象

转载 作者:行者123 更新时间:2023-12-01 15:38:29 26 4
gpt4 key购买 nike

我在 jface View 中有一个 jface tableviewer 表,用户可以单击 tableviewer 表的任何行,单击时 View 必须导航到另一个 View ,并将选定的行 ID 发送到导航的 View 。到目前为止,我可以成功导航到另一个 View ,并使用代码获取所选行 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 发送到另一个 View 。有人可以帮我解决这个问题吗?

最佳答案

您应该使用ISelectionService,而不是直接引用其他 View 。工作台页面。

在第一个 View 中,您将表查看器设置为其站点的选择提供程序:

getSite().setSelectionProvider(viewer);

在另一个 View 中,您可以在 IWorkbenchPage 上注册一个选择监听器。 :

getSite().getPage().addSelectionListener(firstViewID, listener);

在您的 listener 中您可以使用 IStructuredSelection 访问所选项目接口(interface):

public void selectionChanged(IWorkbenchPart part, ISelection selection) {
//Assuming structured selection from structured viewer
IStructuredSelection structSel = (IStructuredSelection)selection;
Object selElement = structSel.getFirstElement();
}

关于java - 将所选对象从一个 jface View 发送到另一个 jface View ,同时导航到该对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8471109/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com