URL gifURL = null;
gifURL = getClass().getResource("images/person.gif");
m_originalIcon = new ImageIcon(gifURL)
运行提示错误,nullpointerException;
但是如果改成:
m_originalIcon = new ImageIcon("images/person.gif");
就可以了.这是为什么啊.
gifURL = getClass().getResource("images/person.gif");
m_originalIcon = new ImageIcon(gifURL)
运行提示错误,nullpointerException;
但是如果改成:
m_originalIcon = new ImageIcon("images/person.gif");
就可以了.这是为什么啊.
解决方案 »
- 100分征求面试题答案
- JTable 数据库
- 问个面向对象的简单问题
- access和java连接的更新问题
- 点完JButton立即自动关闭窗口用什么方法!
- BufferedInputStream中的skip性能如何?
- Java mail抛出的一个异常:javax.activation.UnsupportedDataTypeException: no object DCH for MIME type text/plain; charset=UTF-8
- 关于JTable的右键菜单!急啊
- 谁能提供一个UE的下载地址
- 为了避免one和two相互影响,我是不是应该使用这样的方式创建one和two?
- 关于ResultSet取得结果的小问题
- 请教:用Java如何实现打印excel文件的功能啊。
这样不更好些吗?
相当于new File("images/person.gif");里面的images/person.gif是一个相对路径,文件读取时这个相对路径是从程序所在目录开始的。换句话说是classes或者exe所在目录开始往下取的。所以不会进入你的jar包或者classes里面。它是一个程序外部文件的读取方式。
getClass().getResource("images/person.gif");
这是读取程序内部资源的方法,他读取的位置是classes内部或者jar内部,和上面的完全不一样。BTW:
getClass().getResource("images/person.gif");
getClass().getResource("/images/person.gif");
这两个也不一样,差别很大。差别在根目录上。第一个写法,没有"/",表示根目录是getClass()的类所在的目录(准确点叫做包),而第二种写法有"/",表示根目录是顶层包,一般是classes目录。
明白了吗?
多谢fool_leavel
还有issgates
呵呵,fool_leavel瞒精通的