一、问题

ImageIcon icon = new ImageIcon(“logo.jpg”);

执行结果是icon无法显示

二、解决

类中有如下调用:

ImageIcon icon = new ImageIcon(“1.jpg”);

很自然地认为当前类文件和图片在同一路径下即可。

其实所谓的相对路径起点是工程的根目录,即project。

这行代码执行时在project目录下查找名为a.gif的文件,结果当然是找不到。

要得到工程的相对路径可通过System.getProperty(“user.dir”)得到。

对图片和对文件的查找应该是一致的,如new File()。

1、假如你的工程根目录为:Project1

你的图片文件放在:Project1/src/images/1.jpg

所以正确的调用是(不要加Project1):

ImageIcon icon = new ImageIcon(“src/images/1.jpg”);

2、假如你的工程根目录为:Project1

你的图片文件在:Project1/src/com.liuyanzhao/1.jpg

所以正确的调用是(com.liuyanzhao是包名)

ImageIcon icon = new ImageIcon(“src/com/liuyanzhao/1.jpg”);

这行代码执行时在project/test目录下查找到了文件

总结起来就是一句话:所谓相对路径就是相对于工程根目录的位置^_^

三、其他

查看了一下ImageIcon的构造函数。

Public ImageIcon(String filename)//参数可以是绝对路径也可以是相对路径

Public ImageIcon(URL url)

第一种构造不在赘述。

第二种通过URL来得到图片

URL url = getClass().getResource(“a.gif”); //当前编译后class文件所在目录查找

ImageIcon icon = new ImageIcon(url);

ImageIcon支持GIF、JPG、PNG等格式。


原文地址:http://blog.csdn.net/anakinlu/article/details/5623688

本文链接:http://liuyanzhao.com/4082.html

java中ImageIcon路径问题相关推荐

  1. java 文件路径读取,java中依据路径读取文件

    java中根据路径读取文件 根据文件路径读取文件.具体代码如下: /** * 根据文件路径读取文件 * @param path * @return String * @throws IOExcepti ...

  2. Java中获取路径的各种方法

    2019独角兽企业重金招聘Python工程师标准>>> 1. java文件中获得路径 Thread.currentThread().getContextClassLoader().g ...

  3. Java中关于路径和使用exe4j打包成ext可执行程序的一些小总结

    需求是这样的,假设你的Java程序启动的时候要读一份配置文件,或者一个dll链接库,或者一个jar包,假设是dll好了,那么你的dll到底应该放在哪比较合适? 1.代码中使用绝对地址,这个是最好理解的 ...

  4. Java 中访问路径的问题

    在Java中路径分为绝对路径和相对路径 访问路径 通常访问路径也就是URL,统一资源定位符,URL由两部分组成资源路径和资源名称 资源名称也就是你要访问的路径,就比如我的image,我的image是访 ...

  5. Java中文件路径的写法

    2019独角兽企业重金招聘Python工程师标准>>> 在Java中如果按照正常的文件路径来表示文件名,那么Java将不能够识别,比如D:\Java等,正确的写法应该是将" ...

  6. Java中的路径:IPath与IFile

    在构建IFile时,传入了这样一个参数, E:/runtime-EclipseApplication/hellome/deployed 发现IFile可以识别这个路径. 在路径名中,目录与目录.目录与 ...

  7. java中什么路径_Java中的路径问题

    0. Java中常用的路径 System.getProperty("user.dir") 构造:File(path) 构造:FileInputStream(path) XXX.cl ...

  8. java中把路径定义到src下的_设置java路径路径

    JDK环境变量配置 java设置classpath,path,java_home环境变量 Windows7安装JDK的环境变量设置Windows7 X64安装"jdk-6u26-window ...

  9. java中相对路径怎么写_java中如何使用相对路径读取文件

    java中使用相对路径读取文件的方法:1.使用文件[File file = new File("src/test.txt")]方法:2.使用类的相对路径:3.使用当前线程的类加载器 ...

  10. java文件的路径怎么设置,如何在Java中设置路径

    本文概要 是必需的路径使用工具,如javac的,Java等要被设置 如果要保存的JDK / bin目录中的Java源文件,不需要路径设置,因为所有的工具将在当前目录中可用. 但是,如果你有你的Java ...

最新文章

  1. android修改系统设置权限_安卓保护隐私利器!完美解决软件「不给权限就不运行」的小工具...
  2. mnist 数据集的识别源码解析
  3. hadoop 实战练习_Hadoop 实战实例
  4. 有关EMMC、Nandflash、SSD、HDD的科普类说明
  5. Scrapy源码阅读分析_1_整体框架和流程介绍
  6. “Hello,Github!——如何配置并上传一个已有项目到Git上
  7. 双机热备_双机热备软件哪个好?双机热备软件推荐
  8. Navicat for MySQL 使用SSH方式链接远程数据库
  9. week2 container and injection
  10. [未读]CLR via C#(第4版)
  11. 打印流PrintWriter实现自动刷新和换行
  12. 解除百度文库复制限制
  13. ps42k20服务器出现问题_天高客户端访问软件出现“服务器操作系统原因”问题解决方法...
  14. cad统计面积长度插件vlx_cad计算总长度插件
  15. WPS Word 快捷键大全
  16. select ajax加载数据,ajax 执行成功后返回j页面加载 joson 数据(加载select数据)
  17. python批量发送邮件_EDM营销算法:python自动批量发邮件
  18. 最好的余生:有家回,有人等,有饭吃
  19. 机器翻译模型简介(一)
  20. Verilog设计流水灯(一)

热门文章

  1. split-lapply-cbind模式--R语言
  2. 【前端成长-读书群】
  3. ext4文件系统制作 - make_ext4fs 参数介绍【转】
  4. ANIMATION经典小车动画
  5. 翻转一个数的二进制后的值
  6. 【linux】具体芯片MACHINE_START处理
  7. PE格式详细讲解5 - 系统篇05|解密系列
  8. 10、斐波那契数列,跳台阶问题(Python)
  9. 查看linux系统端口占用情况
  10. mysql如何从两个表取出内容_如何从mysql中的两个表中获取数据?