簡體   English   中英

如何在Mac Dock中使我的e4 swt應用程序圖標彈跳

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM