![](/img/trans.png)
[英]How to hide the Java SWT program icon in the Dock when the application is in the tray
[英]How to set a high quality OSX dock icon for an SWT Java application
我編寫了一個 SWT Java 應用程序,並希望將其配置為在 OSX 擴展塢中使用高質量圖標。 這是我當前的代碼:
// Prepare window
final Shell window = new Shell();
// Load icons
Display display = window.getDisplay();
ClassLoader loader = InTraceStandaloneUI.class.getClassLoader();
InputStream is16 = loader.getResourceAsStream(
"org/intrace/icons/intrace16.gif");
Image icon16 = new Image(display, is16);
is16.close();
InputStream is32 = loader.getResourceAsStream(
"org/intrace/icons/intrace32.gif");
Image icon32 = new Image(display, is32);
is32.close();
window.setImages(new Image[] {icon16, icon32});
這適用於加載在 Windows 上看起來不錯的 16x16 和 32x32 徽標,但 OSX 使用的徽標仍然看起來很像素化。 我只需要指定更高分辨率的第三個版本,還是應該使用不同的圖像格式或 API?
實際上,如果您調用 Shell.setImages(...) 並包含一個 128x128 圖標,那么 OSX 將選擇它,您將獲得一個高質量的停靠圖標,而無需使用 Apple 擴展類。
您可以檢測 OSX 並使用 Apple Java Extensions 並調用Application.setDockIconImage(...)
不應該在 Info.plist 中使用
<key>CFBundleIconFile</key>
<string>icon.icns</string>
線?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.