簡體   English   中英

如何為 SWT Java 應用程序設置高質量的 OSX 停靠圖標

[英]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});

https://github.com/mchr3k/org.intrace/blob/master/org.intrace/src/org/intrace/client/gui/InTraceStandaloneUI.java

這適用於加載在 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.

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