gpt4 book ai didi

java - 尝试使用 OpenOffice API 获取 XDesktop 实例时出现 ClassCastException

转载 作者:行者123 更新时间:2023-12-01 14:16:17 24 4
gpt4 key购买 nike

我一直在开发 OpenOffice Writer 扩展。目前,我需要检索当前文档对象。以下内容应将当前组件作为 Writer 文档返回。

XMultiComponentFactory factory = context.getServiceManager();
XDesktop desktop = (XDesktop) factory.createInstanceWithContext("com.sun.star.frame.Desktop", context);
XTextDocument document = (XTextDocument) UnoRuntime.queryInterface(XTextDocument.class, desktop.getCurrentComponent());

return document;

我的问题发生在第二行运行时。抛出以下异常:

java.lang.ClassCastException: com.sun.proxy.$Proxy0 cannot be cast to com.sun.star.frame.XDesktop

为什么createInstanceWithContext返回的内容不符合所请求的接口(interface)?有办法解决吗?

最佳答案

查看文档 here ,获取接口(interface)的过程分为两步:

          Object desktop = xRemoteServiceManager.createInstanceWithContext (
"com.sun.star.frame.Desktop", xRemoteContext);
XDesktop xDesktop = (XDesktop)UnoRuntime.queryInterface(XDesktop.class, desktop);

关于java - 尝试使用 OpenOffice API 获取 XDesktop 实例时出现 ClassCastException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18084326/

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