我正在尝试使用以下命令从-desktop特定类设置应用程序图标:
package org.osgameseed.games.animalflip;
import com.badlogic.gdx.Files;
import com.badlogic.gdx.backends.lwjgl.LwjglApplication;
import com.badlogic.gdx.backends.lwjgl.LwjglApplicationConfiguration;
public class Main {
public static void main(String[] args) {
LwjglApplicationConfiguration cfg = new LwjglApplicationConfiguration();
cfg.title = "AnimalFlip";
cfg.useGL20 = false;
cfg.width = 800;
cfg.height = 600;
cfg.addIcon("data/ic_launcher.png", Files.FileType.Internal);
new LwjglApplication(new AnimalFlipGame(), cfg);
}
}
图标未设置(至少在Linux上),有关如何设置它的想法吗?
答案 0 :(得分:10)
查看api(addIcon(...)):
添加一个窗口图标。图标按添加的顺序尝试,第一个 这是有用的。通常应提供三个图标:128x128 (适用于Mac),32x32(适用于Windows和Linux)和16x16(适用于Windows)。
也许您的图标尺寸错误,因此无法设置。否则它应该工作!
提一下你只需在左上边缘设置小图标(如果应用程序已启动),而不是你在桌面上看到的图标!
答案 1 :(得分:0)
将Icon带入我的Mac-Dock! ;) 一定要在你的Lwjgl-Thread
中调用它/**
* workaround for Mac
*/
private static void setApplicationIcon() {
try {
Class<?> cls = Class.forName("com.apple.eawt.Application");
Object application = cls.newInstance().getClass().getMethod("getApplication").invoke(null);
FileHandle icon = Gdx.files.local("icons/icon.png");
application.getClass().getMethod("setDockIconImage", java.awt.Image.class)
.invoke(application, new ImageIcon(icon.file().getAbsolutePath()).getImage());
} catch (Exception e) {
// nobody cares!
}
}