簡體   English   中英

如何設置libGDX桌面應用程序的應用程序圖標?

[英]How to set the application icon for a libGDX desktop application?

我正在嘗試從-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上),有關如何設置的任何想法?

看一下api(addIcon(...)):

添加一個窗口圖標 在添加的順序中嘗試圖標,使用第一個有效的圖標。 通常應提供三個圖標:128x128(適用於Mac),32x32(適用於Windows和Linux)和16x16(適用於Windows)。

也許你的圖標尺寸錯誤,所以它不會被設置。 否則它應該工作!

只是提到你只需在左上邊緣設置小圖標(如果應用程序已啟動),而不是您在桌面上看到的圖標!
小圖標

將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!
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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