[英]How to make my e4 swt app icon bounce in the Mac dock
我試圖按照如何使Mac底座中的我的應用程序圖標彈跳中的建議使我的Mac托盤圖標
這與純Java應用程序配合使用並可以正常運行
但這不適用於e4 swt應用程序,如何在此類應用程序中使其彈跳
參考:以下鏈接中示例代碼的pfa https://bugs.eclipse.org/bugs/show_bug.cgi?id=321949
Application.requestUserAttention
可在e4應用程序中使用(在Mac 10.9.3上帶有Java 1.8更新5的Eclipse 4.3.2)。
注意:僅當應用程序不是重點應用程序時,它才會執行某些操作。 如果使用false
參數,則只有一次反彈,請指定true
使其反彈,直到應用程序獲得焦點為止。
更新:
您也可以使用SWT Mac特定的類來執行此操作,如下所示:
private static final long sel_requestUserAttention_ = OS.sel_registerName("requestUserAttention:");
private static final int NSCriticalRequest = 0;
private static final int NSInformationalRequest = 10;
...
NSApplication app = NSApplication.sharedApplication();
OS.objc_msgSend(app.id, sel_requestUserAttention_, NSInformationalRequest);
使用NSInformationalRequest
進行一次彈跳,使用NSCriticalRequest
彈跳直到應用獲得焦點。
由於這是僅Mac的SWT代碼,因此您必須將其放入MANIFEST.MF
帶有平台過濾器的插件或片段中,例如:
Eclipse-PlatformFilter: (& (osgi.ws=cocoa) (osgi.os=macosx) (osgi.arch=x86_64) )
更新:
上面的代碼用於Mac OSX上的64位SWT,用於32位SWT
private static final int sel_requestUserAttention_ = OS.sel_registerName("requestUserAttention:");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.