0
我已經意識到我的代碼在不同平臺上設置程序圖標(而不是java程序圖標)時存在問題。我寫了在Windows和Mac驗證碼:根據平臺放置一個程序圖標
private void putIcon() {
URL url = ClassLoader.getSystemResource("resources/icon.png");
String name = System.getProperty("os.name");
if (name.startsWith("Win")) {
Toolkit kit = Toolkit.getDefaultToolkit();
Image img = kit.createImage(url);
this.setIconImage(img);
} else {
Application.getApplication().setDockIconImage(new ImageIcon(url).getImage());
}
}
當我在Mac測試它有沒有問題,但是當我試了一下窗戶,我意識到這是行不通的,因爲那類不在窗口:
import com.apple.eawt.Application;
我能做些什麼來解決這個問題?對於我研究過的,在代碼的導入部分中不可能有某種「if」,並且如果該類在windows中存在,它將不會編譯。
是的,反射工程;示例可以在[這裏](http://stackoverflow.com/a/30308671/230513)和'OSXAdapter'中找到[here](http://stackoverflow.com/a/2061318/230513)。 – trashgod