如何修复在项目中导入时未设置的Jlabel图像图标的设置

问题描述 投票:0回答:2

我正在GUI库系统上创建项目。我的IDE是Netbeans。在从外部文件夹设置Jlabel图标图像之前,但我希望从项目文件夹中加载图像,因此我从NetBeans的“导入到项目”选项将图像导入到了我的项目文件夹中。当我编译程序时,它在Jlabelxxx.setIcon()中显示“ NullPointerException”。这意味着它没有从我的包裹/文件夹中加载图像。我知道什么是空指针异常:)。我的代码完全正常,但我不知道为什么无法从项目文件夹中加载图像。

我正在使用Netbeans GUI进行Jswing设计。我的目录结构如下所示:

enter image description here

项目绝对路径:C:\ Users \ nisha \ Documents \ NetBeansProjects \ LibraryManagementSystem

图像绝对路径:C:\ Users \ nisha \ Documents \ NetBeansProjects \ LibraryManagementSystem \ src \ main \ java \ gpjlibrarymanagementsystem \ icons

我在“ LibraryManagementSysten”项目文件夹中有2个软件包。在它下面,我有3个程序包“”“ gpjlibrarymanagementsystem”“ gpjlibrarymanagementsystem.icons”。默认软件包没有任何内容。第二个包含JFrame文件,最后一个包含图像。请观看上面发布的图像以了解我的目录结构。我需要尽快解决此问题。在此先感谢:)

我试图在同一个项目中创建不同的目录,但是它不起作用。

我得到'NullPointerException'的代码示例:

    lblMinimize.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gpjlibrarymanagementsystem/icons/icons8-minus-24.png")));

    lblMaximize.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gpjlibrarymanagementsystem/icons/icons8-maximize-button-20.png")));

    lblClose.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gpjlibrarymanagementsystem/icons/icons8-multiply-24.png")));

根据我的目录结构,您可以看到我的代码是正确的。

java swing jlabel embedded-resource imageicon
2个回答
0
投票

以下一项或多项:

/gpjlibrarymanagementsystem/icons/icons8-minus-24.png
/gpjlibrarymanagementsystem/icons/icons8-maximize-button-20.png
/gpjlibrarymanagementsystem/icons/icons8-multiply-24.png

错误(文件不存在),因此getResource返回null


0
投票

项目目录名称为icon(单数,但代码显示为icons(复数)。

© www.soinside.com 2019 - 2024. All rights reserved.