最近我开始探索 Officebean 库,换句话说,我试图让一个简单的 OOoBean 示例运行。 不幸的是,我什么都没做。
首先,我尝试构建一个带有 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,但它也没有运行并且出现了相同的异常。
我还尝试通过执行以下命令以“监听”模式手动启动 OpenOffice: soffice.exe -bean -accept=pipe,name=login.name_Office;urp;StarOffice.NamingService
最后我什么都没做,并注意到几乎没有关于 OpenOffice Bean 的最新信息。 Officebean.jar 中的许多方法也已弃用。
所以我的问题是:
- OpenOfficeBean 死了吗?
- 您对我如何运行简单的 OpenOffice Java 集成有什么建议吗?
- OpenOffice SDK 是将 OpenOffice 嵌入 Java Swing 应用程序的替代方法吗?
- 您是否知道有关 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 进行测试)。
再见,
理查德
关于java - OOoBeans 死了吗? - 我有什么选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4387622/