本文整理汇总了Java中com.sun.star.frame.XDesktop.terminate方法的典型用法代码示例。如果您正苦于以下问题:Java XDesktop.terminate方法的具体用法?Java XDesktop.terminate怎么用?Java XDesktop.terminate使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.sun.star.frame.XDesktop
的用法示例。
在下文中一共展示了XDesktop.terminate方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: doStopProcess
import com.sun.star.frame.XDesktop; //导入方法依赖的package包/类
private void doStopProcess() {
try {
XDesktop desktop = OfficeUtils.cast(XDesktop.class, connection.getService(OfficeUtils.SERVICE_DESKTOP));
desktop.terminate();
} catch (DisposedException disposedException) {
// expected
} catch (Exception exception) {
// in case we can't get hold of the desktop
doTerminateProcess();
}
doEnsureProcessExited();
}
示例2: stopOffice
import com.sun.star.frame.XDesktop; //导入方法依赖的package包/类
private void stopOffice() {
try {
if (componentContext != null) {
// Only the uno test suite which started the office can stop it
XMultiComponentFactory xMngr = componentContext.getServiceManager();
Object oDesktop = xMngr.createInstanceWithContext("com.sun.star.frame.Desktop", componentContext);
XDesktop xDesktop = (XDesktop)UnoRuntime.queryInterface(XDesktop.class, oDesktop);
xDesktop.terminate();
}
} catch (Exception e) {
e.printStackTrace();
}
}
示例3: disconnect
import com.sun.star.frame.XDesktop; //导入方法依赖的package包/类
/**
* Disconnects from an OOo server using the connection string from the
* previous connect.
*
* If there has been no previous connect, the disconnects does nothing.
*
* If there has been a previous connect, disconnect tries to terminate
* the OOo server and kills the OOo server process the connect started.
*/
public void disconnect() {
if (oooConnectionString == null)
return;
// call office to terminate itself
try {
// get local context
XComponentContext xLocalContext = getLocalContext();
// create a URL resolver
XUnoUrlResolver xUrlResolver = UnoUrlResolver.create(xLocalContext);
// get remote context
XComponentContext xRemoteContext = getRemoteContext(xUrlResolver);
// get desktop to terminate office
Object desktop = xRemoteContext.getServiceManager().createInstanceWithContext("com.sun.star.frame.Desktop",xRemoteContext);
XDesktop xDesktop = (XDesktop) UnoRuntime.queryInterface(XDesktop.class, desktop);
xDesktop.terminate();
}
catch (Exception e) {
// Bad luck, unable to terminate office
}
oooServer.kill();
oooConnectionString = null;
}
示例4: main
import com.sun.star.frame.XDesktop; //导入方法依赖的package包/类
/**
* Stellt eine Verbindung mit OpenOffice.org her (und startet dabei einen
* soffice-Prozess, falls noch keiner läuft) und beendet dann OpenOffice.org
* mittels XDesktop.terminate(). Das Programm beendet die JVM mit Statuscode 0,
* wenn das Beenden von Openoffice.org erfolgreich war und mit einem Statuscode !=
* 0, wenn OpenOffice.org nicht beendet wurde bzw. irgendetwas schief gelaufen ist
* (z.B. beim Verbindungsaufbau). Zudem wird auf der Standardausgabe eine
* entsprechende Meldung ausgegeben.
*
* @param args
* wird nicht ausgewertet
* @author Daniel Benkmann (D-III-ITD-D101)
*/
public static void main(String[] args)
{
boolean terminated = false;
try
{
XMultiComponentFactory xMCF = Bootstrap.bootstrap().getServiceManager();
XComponentContext defaultContext =
(XComponentContext) UnoRuntime.queryInterface(
XComponentContext.class,
((XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, xMCF)).getPropertyValue("DefaultContext"));
XDesktop desktop =
(XDesktop) UnoRuntime.queryInterface(XDesktop.class,
xMCF.createInstanceWithContext("com.sun.star.frame.Desktop",
defaultContext));
// Quickstarter soll das Terminieren des Prozesses nicht verhindern
XPropertySet xPropSet =
(XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, desktop);
xPropSet.setPropertyValue("SuspendQuickstartVeto", Boolean.TRUE);
//ACHTUNG: Der obige Code hat keine Auswirkung auf den Quickstarter der
//WollMuxBar! Wenn die WollMuxBar mit "--quickstarter" gestartet wird,
//kann OpenOffice nicht beendet werden.
// Versuch OOo zu beenden
terminated = desktop.terminate();
}
catch (Exception e)
{
System.out.println("Exception occured while trying to terminate OpenOffice.org!");
e.printStackTrace();
System.exit(2);
}
if (terminated)
{
System.out.println("OpenOffice.org was terminated successfully!");
System.exit(0);
}
else
{
System.out.println("OpenOffice.org was NOT terminated!");
System.exit(1);
}
}