编程语言
首页 > 编程语言> > java-如何在项目文件夹的jlabel上设置图像?

java-如何在项目文件夹的jlabel上设置图像?

作者:互联网

我正在尝试制作Java桌面应用程序.

我想在JLabel上设置图像.

我正在使用NetBeans.

在项目文件夹中,目录结构为:

F:/>MARKET
    |
    |___src
    |
    |___lib
    |
    |___src
    |      |
    |      |__defaultpackage
    |                       |
    |                       demo.java
    |__images
            |
            |
            Logo1.png

我使用以下代码:

jLabel4 = new JLabel(new ImageIcon("images/Logo1.png"));

它不起作用,如何获得输出?

解决方法:

如果要将图像包含在Jar中,则需要将images文件夹移到src目录中.

然后,这将要求您使用更多类似的内容…

jLabel4 = new JLabel(new ImageIcon(getClass().getResource("/images/Logo1.png")));

到加载图像.

如果要使图像保留在程序Jars的外部(并保持对文件系统的打开状态),则需要确保程序的执行上下文在项目文件夹的上下文内(与src处于同一级别)和images目录).

这可以通过项目属性-> gt完成.运行属性.默认情况下,运行时,程序将从运行的项目文件夹的上下文中执行.

如果您想使用外部资源,可以做两件事来检查它们…

一种,使用与要加载的外部资源相同的路径创建一个文件,然后检查它是否存在…

 if (new File("images/Logo1.png").exists()) {...

或者,如果您似乎无法使其正常工作,请使用…检查当前运行的上下文.

System.out.println(new File(".").getCanonicalPath());

它将告诉您当前的工作目录(请注意,这将引发IOException).

您也可以使用系统属性user.dir

System.out.println(System.getProperty("user.dir"));

标签:imageicon,swing,jlabel,embedded-resource,java
来源: https://codeday.me/bug/20191029/1961842.html