0

希望有人可以帮助我做一些可能非常简单的事情。我是 Java 编码的新手(2 周),并且在 Linux 下使用 Eclipse IDE。我目前正在创建一个 JFrame 应用程序,到目前为止一切顺利。

不过,我有一个小障碍——我已经包含了一组图标并将它们分配给 JLabel,并让它们显示出来。在导出 Executable JAR 时,它们不会作为资源在 JAR 中。如果我打开 JAR 文件,我可以在 JAR 的根目录中看到图像,而不是在它们各自的文件夹中组织。(图标/等)。

TL;DR - 我如何将文件夹中的资源作为资源导入 JAR。

    public void drawCategoryIcons() {
    for (int i = 0; i < aspCategories.length; i++) {
        Icon pcIcon = new ImageIcon(getClass().getResource( "/icons/" + cats[i]));

        aspCategories[i] = new JLabel("", JLabel.CENTER);
        aspCategories[i].setIcon(pcIcon);
        panel.add(aspCategories[i], "w 200, center");
    }
}

如果我在 Eclipse 中运行项目,一切都会正常运行。导出它,我得到了大量的错误。

4

1 回答 1

0

您可能已经在 eclipse 项目中创建了图标目录作为单独的源文件夹(它有一个由文件夹图标和包图标组成的图标)。源文件夹只是开发过程中的逻辑元素(因此您可以在逻辑上分离应用程序的模块),它们不是导出应用程序的一部分。仅导出源文件夹中的所有内容。

因此,一个简单的解决方法可能是在您的其他源文件夹(通常称为“src”)中创建一个包“图标”。导出后,这些包将作为子文件夹存在。

于 2013-03-13T06:34:42.837 回答