gpt4 book ai didi

java - 从 eclipse viewpart 获取内容

转载 作者:行者123 更新时间:2023-12-02 06:29:32 24 4
gpt4 key购买 nike

我正在使用 eclipse ViewPart 类在 eclipse 中开发一个插件。在 View 部分内我有样式文本。考虑我有 2 个 View view_1 和 view_2,并且都有 styledText_1 和 styledText_2。对于某些搜索功能,我需要获取焦点样式的文本内容。我尝试使用下面的代码,但没有成功。

IWorkbenchPage page = PlatformUI.getWorkbench()
.getActiveWorkbenchWindow().getActivePage();
IWorkBenchPart activePart = page.getActivePart(); // will give the foucsed view part

这两个 View 都是由同一个类创建的,并且具有静态 styledtext 变量“文本”。

我尝试过

System.out.println(((StyledText)page.getActivePart().getClass().getDeclaredField("text").get(null)).getText());

但这会打印最后打开的 View 的文本内容我怎样才能获得重点内容的样式文本。

最佳答案

您可以尝试通过 id 检索自己的 View ,然后直接从 View 中获取所需的信息:

IViewPart part = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage()
.findView(MyView.ID);
if (part instanceof MyView) {
MyView view = (MyView) part;
StyledText text = view.getStyledText();
}

或者为两个 View 引入一个接口(interface),其中有一个方法 getStyledText

IViewReference[] references = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getViewReferences();
for (IViewReference ref : references) {
IViewPart view = ref.getView(false);
if (view instanceof IStyledTextProvider) {
StyledText text = ((IStyledTextProvider) view).getStyledText();
}
}

关于java - 从 eclipse viewpart 获取内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20197208/

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