我正在使用NetBeans GUIBuilder创建JPanel窗体。我添加了一个JLabel,并使用NetBeans的接口从外部图像(.png)中为它提供一个图标。路径经过验证,图像显示在GUIBuilder屏幕上。当我点击“预览设计”按钮时,它甚至会显示出来。它不会在我运行项目时显示。GUI的其余部分按应有的样子显示。你们知道为什么会发生这种情况吗?或者如何解决?
很多人都要求参加SSCCE。由于代码是由NetBeans表单生成器生成的,因此我将创建JLabel的步骤包括在内。重点区域用红色圈出。
1.将JLabel拖放到窗体生成器中。
1.打开JLabel的属性菜单。在text
字段中输入空字符串(“”)。单击icon
旁边的省略号。
1.选择“外部图像”并单击省略号。
1.选择所选图像。在我的情况下,它是一个. png。
1.请注意,该图像将显示在图标预览中。
1.关闭图标菜单和属性菜单,请注意图像在窗体生成器上显示为JLabel的图标。
感谢您接受非正统的SSCCE,并提前感谢您的帮助。
3条答案
按热度按时间hfyxw5xn1#
我发现,依靠Netbeans GUI Builder为您做所有事情是一个错误。
只需创建一个像下面这样的图标获取类,将图标放在它的包中,并使用“自定义代码”而不是“图像选择器”。确定图标在NB内不可见。但如果他们在应用程序运行时出现,谁在乎呢。
使用方法:
如果在尝试此操作后图标仍然不显示,则可能是表单中组件的布局方式有问题(标签在那里,但您看不到它)。
希望这能有所帮助,尽管这是一个漫长的过程。
yzxexxkh2#
我也遇到了同样的问题,普罗迪的解决方案也不起作用。然后我创建了一个包,而不是一个文件夹,并添加了图像在那里,它现在的工作。
aiazj4mn3#
我也有同样的问题。但我找到了解决办法。
1.我在project中创建了一个包,并将图像放在里面。
1.当我构建项目时,Netbeans将创建“目标”文件夹并构建.class文件。
1.我发现我复制到包中的图像没有传输到“目标”文件夹。
**临时解决办法。我复制所有图像到目标文件夹具有相同的结构。然后我可以直接从Netbeans运行项目。5.以防你清理项目。再做一遍4号。