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