2015-04-19 38 views
3

在OS X上,是否有可能(JDK8u40)以编程方式隐藏应用程序,类似于按Cmd-H的用户通常实现的功能?以编程方式隐藏(但不退出)OS X上的应用程序

我已失败,尝试:

  • 主叫Stage.setIconified
  • 调用Stage.hide()与预先设定为true(Platform.setImplicitExit选项=>应用程序保持活性,虽然舞台消失)
  • 调用没有Platform.setImplicitExit选项(=>应用程序退出)的Stage.hide()
  • 使用AWT Robot发送Cmd-H快捷方式(改为生成关于框)。

回答

0

您可以在OS X上执行此操作,例如使用Eclipse SWT的Cocoa原生绑定。这可能不是最优雅的解决方案,但它应该可以工作。如果你有以下依赖于您的项目(确保在你的运行配置禁用-XstartOnFirstThread)

<dependency> 
    <groupId>org.eclipse.swt.org.eclipse.swt.cocoa.macosx.x86_64.4.3.swt</groupId> 
    <artifactId>org.eclipse.swt.cocoa.macosx.x86_64</artifactId> 
    <version>4.3</version> 
</dependency> 

你可以叫

OS.objc_msgSend(NSApplication.sharedApplication().id, 
        OS.sel_hide_); 

这将调用完全相同的过程由CMD-作为触发h,因此只能在OS X上工作。

+0

优秀的答案。谢谢! –

相关问题