2015-04-19 42 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

優秀的答案。謝謝! –

相關問題