Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 更改按钮的图标,但不想设置图像的位置_Java_Image_Swing_Embedded Resource_Imageicon - Fatal编程技术网

Java 更改按钮的图标,但不想设置图像的位置

Java 更改按钮的图标,但不想设置图像的位置,java,image,swing,embedded-resource,imageicon,Java,Image,Swing,Embedded Resource,Imageicon,我想更改按钮的图像(我知道怎么做)。是否有其他方法可以添加图像而不提供图像的位置,因为如果应用程序的位置更改,它将不会显示图像。所以我想知道是否还有其他可能的方法 编辑: 我不想添加此地址,因为它可能会更改位置 if (status.equals("update")) jButton1.setIcon(new ImageIcon("C:/Users/laptop/Documents/NetbeansProjects/Physics/src/update.png")); 这是在状态为updat

我想更改按钮的图像(我知道怎么做)。是否有其他方法可以添加图像而不提供图像的位置,因为如果应用程序的位置更改,它将不会显示图像。所以我想知道是否还有其他可能的方法

编辑:

我不想添加此地址,因为它可能会更改位置

if (status.equals("update"))
jButton1.setIcon(new ImageIcon("C:/Users/laptop/Documents/NetbeansProjects/Physics/src/update.png")); 

这是在状态为update时将image update.png从add.png更改为update.png的代码。我不想写它的地址,因为如果jar文件的位置改变了,它就不会显示图像。项目将离线运行,因此无需在线建议,只需在项目目录中添加图像文件,并仅提供文件的名称和格式
i、 例如:
if(status.equals(“update”))

jButton1.setIcon(新的图像图标(“update.png”)

将图像放入应用程序jar文件本身,并使用类加载器加载它,我已经将图像添加到项目本身,但它也不起作用。然后,我将把项目转换成jar文件。如果你不发布代码,我们无法告诉你为什么你的代码不起作用。这正是为什么我建议你将图标放在应用程序本身的jar文件中,并使用我链接的两种方法,使用classloader加载图标。但你不是在读书,所以我在沙漠里布道。我给你提供了一个教程的链接,上面有一些工作示例,展示了如何使用这两种方法。如果你不花时间阅读给出的建议,为什么要问一个问题?
if (status.equals("update"))
jButton1.setIcon(new ImageIcon("C:/Users/laptop/Documents/NetbeansProjects/Physics/src/update.png"));