【问题标题】:Program's executable file to image in Java程序的可执行文件以 Java 映像
【发布时间】:2012-09-17 16:43:23
【问题描述】:

我知道这可能看起来有点奇怪,但我有这个要求,我想知道这是否可行。

我有一个 java swing 应用程序,我选择了一个文件(程序)并将该程序添加到列表中。列表完成后,我执行程序列表(这就像一个启动管理器)。

我想要做的是,抓取我选择的文件并将其作为图像显示到我的 UI。对于 pdf、doc、txt 等常见文件,这很容易,我只为每种类型准备了一个通用图像。但是假设我想执行 regedit.exe 或 msconfig.exe,我希望能够抓住它的图标(下图)。

有谁知道如何做到这一点?

谢谢

【问题讨论】:

    标签: java windows swing


    【解决方案1】:

    看看FileSystemView.getSystemIcon(File)

    它有点受限(因为您只能获得一种尺寸),但它是内置的,甚至不需要任何额外的库或 JNA 或 JNI...

    File f = new File(...);
    Icon icon = FileSystemView.getFileSystemView().getSystemIcon(f);
    

    【讨论】:

      【解决方案2】:

      如果你想要原生图标,你需要 JNI。 Java 没有用于获取不同大小的本机图标的默认 API。以下是 windows 和 linux 的一些起点:

      如果您不需要确切的本机图标,您可以获取文件的 mimetype 并自行设置图标:

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-11-25
        • 2013-08-27
        • 2012-11-26
        • 2018-04-24
        • 1970-01-01
        • 2011-04-23
        • 2011-06-23
        相关资源
        最近更新 更多