Java 从openoffice API控制演示窗口
我目前正试图使用openoffice API来显示来自Java的powerpoint演示文稿——我已经找到了一个公平的方法,我已经成功地打开并显示了演示文稿。但是,有几件事我希望能够做到,但我无法用API解决:Java 从openoffice API控制演示窗口,java,openoffice.org,Java,Openoffice.org,我目前正试图使用openoffice API来显示来自Java的powerpoint演示文稿——我已经找到了一个公平的方法,我已经成功地打开并显示了演示文稿。但是,有几件事我希望能够做到,但我无法用API解决: 我不希望主印象窗口出现,只是演示窗口。现在,我可以用一个属性来最小化它,但实际的演示窗口也会最小化,这是我不想要的。我也可以抓取窗口并在其上调用setVisible(false),但在加载过程中,它仍然可见一秒钟左右 我希望能够控制显示演示文稿的显示器(我在多显示器设置中使用它)。我想
- 我不希望主印象窗口出现,只是演示窗口。现在,我可以用一个属性来最小化它,但实际的演示窗口也会最小化,这是我不想要的。我也可以抓取窗口并在其上调用
,但在加载过程中,它仍然可见一秒钟左右setVisible(false)
- 我希望能够控制显示演示文稿的显示器(我在多显示器设置中使用它)。我想我可能能够抓住演示文稿的窗口并按需要移动它,但我看不出如何操作-对于主窗口,我可以执行以下操作:
XModel XModel=unorauntime.queryInterface(XModel.class,xDrawDoc)代码>
xModel.getCurrentController().getFrame().getContainerWindow().blah()代码> …但我还没有找到一种方法来打开演示窗口。我希望能够直接设置窗口的边界(x、y、宽度、高度),而不仅仅是在单个显示器上定位
对上述问题有何看法?我是一名经验丰富的Java程序员,但对UNO来说还是个新手。第二点似乎可以通过display属性解决:
public void start() {
try {
xPresentation.setPropertyValue("Display", 1);
}
catch (Exception ex) {
ex.printStackTrace();
}
xPresentation.start();
}
但是请注意以下几点-首先,显示索引是以1为基数,而不是以0为基数。其次,尝试在数组中设置属性并在创建时将它们传递给xPresentation似乎没有任何效果-它只对我以后设置属性有效,如上所述。第三,它不允许像我所希望的那样对窗口进行细粒度控制,只允许控制演示文稿显示的内容