gpt4 book ai didi

java - 在资源文件夹Java中插入图像

转载 作者:太空宇宙 更新时间:2023-11-04 15:23:20 24 4
gpt4 key购买 nike

我有一个数据库WAMP,尽管有其他字段,我也可以在其中插入名称,后跟图像扩展名,例如“imagen1.jpg” 。我正在做的程序是用 JavaSQL 编写的,并且我使用 Netbeans 的 IDE 来完成它。我有一个名为 "Imagenes.java" 的类型,在其中我选择图像的路径,以这种方式将其插入我的 JpanelJlabel.

public class Imagenes extends javax.swing.JPanel {
String path;
ImageIcon imag;

public Imagenes(int width,int height,String path)
{
this.path=path;
this.setSize(width,height);
}

@Override
public void paint(Graphics graph)
{
Dimension tam = getSize();
if (imag!=null)
graph.drawImage(imag.getImage(),0,0,tam.width, tam.height, null);
else
{
ImageIcon imagenFondo = new ImageIcon(getClass().getResource(path));
graph.drawImage(imagenFondo.getImage(),0,0,tam.width, tam.height, null);
}
setOpaque(false);
super.paintComponent(graph);
}

}

我插入的所有图像都已保存在名为“resources”的文件夹中。因此,我想将我从 “fileChooser” 中选取的计算机中的图像添加到 “resources” 文件夹中。我尝试了一千种方法,把完整的路线放上去,还是没有办法让文件夹被识别。然而,它复制源文件夹中的图像。我已经尝试过诸如 '\\resources\\imagen1.jpg' 之类的特定于 Java 的路线类型,但它没有正确选择它。但如果我这样做路线字符串的打印,这是正确的。我做错了什么?

最佳答案

如果您使用 ImageIcon(path) 而不是 ImageIcon(getClass().getResource(path))。您可能想尝试“src/resources/imagen1.jpg”。 Netbeans 将从 ProjectRoot 进行搜索。因此,只需输入 "resources/imagen1.jpg",就不会找到它。您需要添加src

ProjectRootDir
src
resources
imagen1.jpg

当您使用ImageIcon(getClass().getResource(path));时,程序将尝试从build中的classes目录中找到图像 目录。如果将资源目录放在 classes 目录中,则使用 ImageIcon(getClass().getResource(path)) 应该可以工作

ProjectRootDir
build
classes
resources
imagen1.jpg

在上述场景中,您的路径将为“resources/imagen.jpg”

关于java - 在资源文件夹Java中插入图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20144024/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com