不幸的是,我没有得到任何进展.
首先,我尝试使用JPanel和bean内部构建Swing JFrame,但窗口内没有显示任何内容.
public class OpenOfficeGUI extends JFrame { private OOoBean ooBeanObj = null; private OfficeConnection ooConnection = null; public OpenOfficeGUI() { init(); } private void init() { JPanel panel = new JPanel(); JButton myButton = new JButton("Arsch"); ooBeanObj = new OOoBean(); myButton.setSize(100,32); panel.setSize(800,500); panel.setLocation(5,5); panel.setBackground(new Color(125,125,125)); panel.add(ooBeanObj); panel.add(myButton); panel.setLayout(null); this.add(panel); this.setSize(800,600); this.setLocation(0,0); this.setDefaultCloSEOperation(EXIT_ON_CLOSE); } }
我的第二次尝试是SWT应用程序,在eclipsezone.com(http://www.eclipsezone.com/eclipse/forums/t48966.html)上显示.我让这个东西运行,但在启动时出现“com.sun.star.comp.beans.NoConnectionException”.
我的第三次也是最后一次尝试是OpenOffice Wiki的OOoBeanViewer.因此,我发现了一个blog post,它似乎解决了上面的ConnectionException,但它也没有运行,并出现相同的Exception.
我还尝试通过执行命令在“监听”模式下手动启动OpenOffice:
soffice.exe -bean -accept = pipe,name = login.name_Office; urp; StarOffice.NamingService
最后我没有得到任何结果,并注意到几乎没有关于OpenOffice Bean的最新信息.此外,Officebean.jar中的许多方法都已弃用.
所以我的问题是:
> OpenOfficeBean死了吗?
>您对如何运行简单的OpenOffice Java集成有什么建议吗?
> OpenOffice SDK是否可以在Java Swing应用程序中嵌入OpenOffice?
>您知道有关bean或SDK的某种持续信息来源吗?
> LibreOffice是否有相同的可能性?
谢谢
解决方法
> OpenOffice Bean似乎已经死了.我发现的最后一个版本是2006年,在我看来,OO SDK的最新发展没有得到解决.此外,bean不是很大(1500 LOC)所以从头开始重写它是有意义的.
>我通过执行两个步骤来运行我的应用程序.起初我更改了代码并手动连接到正在运行的OO实例(ooBeanObj.startOOoConnection(“uno:socket,host = localhost,port = 2002; urp; StarOffice.ServiceManager”);).第二个变化是使用套接字(soffice -bean -accept = socket,host = 0,port = 2002; urp;)而不是管道.但我不知道为什么需要这种改变.
> SDK不是替代品,因为它是OO bean的基础.使用SDK的方法可以增强或重写bean.
> The OpenOffice.org API Project似乎是搜索信息的最佳地点,尽管并非所有信息和建议都是最新的.
>目前,OpenOffice bean仍然可以连接到LibreOffice实例(使用LO v.3.3.0 RC1进行测试).
再见,理查德