JAVA学习笔记 -- 包资源文件jar包裹
初学者GUI,使用Eclipse出口jar包裹,不能显示最小化的图标集(hello.png根文件下的项目文件夹文件)。码如下面:
import javax.swing.JFrame;
import java.awt.Toolkit;
import java.awt.Image;
import java.net.URL; public class GUITest {
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Toolkit kit = Toolkit.getDefaultToolkit();
Image image = kit.getImage("hello.png");
frame.setIconImage(image);
frame.show();
}
}
后来我发现仅仅要把jar包和hello.png在同一文件夹下。图标就能够正常显示。这表示jar是一个单独的文件而非一个文件夹。而上面这代码表示导出的jar文件和hello.png必需要在同样路径下。
解决方法
import javax.swing.JFrame;
import java.awt.Toolkit;
import java.awt.Image;
import java.net.URL; public class GUITest {
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Toolkit kit = Toolkit.getDefaultToolkit();
URL imgURL = GUITest.class.getResource("images/hello.png");
Image image = kit.getImage(imgURL);
frame.setIconImage(image);
frame.show();
}
}
把hello.png的文件夹是 "项目名/bin/images/hello.png" 能够看到images 和class文件是同一文件夹的,所以代码中"images/hello.png"是表示相对路径。当然也能够把images文件夹放在项目的根文件夹下,仅仅要把路径改成"/images/hello.png" 。这样,导出jar包后,在其它位置也能够正常显示图标,由于路径正确了。
版权声明:本文博主原创文章,博客,未经同意不得转载。
JAVA学习笔记 -- 包资源文件jar包裹的更多相关文章
- Java学习笔记-包,classpath,import,jar
这里介绍Java的包,classpath,import和jar 包(package) 对类文件进行分类管理 给类提供多层命名空间 写在程序文件的第一行 类名的全称的是 包名.类名 包也是一种封装形式 ...
- robot framework学习笔记之一 资源文件(Resource)和外部资源(External Resources)
一.资源文件(Resource) 测试套件主要是存放测试案例,资源文件主要是用来存放用户关键字. 添加资源 在目录型的Project/Test Suite下单击鼠标右键,选择『New Resou ...
- Android学习笔记数组资源文件
在android中我们可以通过数组资源文件,定义数组元素. 数组资源文件是位于values目录下的 array.xml <?xml version="1.0" encodin ...
- Java学习笔记--字符串和文件IO
1.Java中的字符串类和字符的表示 2.区分String,StringBuilder和StringBuffer 3.从命令行中给main方法传递参数 4.文件操作 1 Java中的字符串和字符 1. ...
- Android学习笔记颜色资源文件
资源文件目录 颜色资源文件格式 colors.xml <?xml version="1.0" encoding="utf-8"?> <reso ...
- Android学习笔记菜单资源文件
创建菜单资源 menu_one.xml <?xml version="1.0" encoding="utf-8"?> <menu xmlns: ...
- Android学习笔记样式资源文件
样式资源和主题资源都是写在styles.xml文件里面的 <style name="title"> <item name="android:textSi ...
- Java学习笔记-基础语法Ⅸ-文件
File File是文件和路径名的抽象表示,File封装的并不是一个真正存在的文件,是一个路径名,可以存在也可以不存在 常用方法: 创建文件:createNewFile() 创建目录:mkdir() ...
- Java 学习笔记及资源
Spring框架入门HelloWorld :http://www.importnew.com/13246.html (iteye 唐 博客,跟我学Sprint) Spring 框架下载地址:http ...
随机推荐
- Hdu 4539 【状态DP】.cpp
题意: 一个炮兵可以攻打和他之间曼哈顿距离为2的士兵,给出你一块n*m的战场,告诉你哪些地方可以站人哪些地方不可以,问你最多可以安放多少个士兵? n <= 100, m <= 10 思路: ...
- cocos2d-x 3.0游戏实例学习笔记《卡牌塔防》第二步---编辑器(1)--触摸加入点
/* 说明: **1.本次游戏实例是<cocos2d-x游戏开发之旅>上的最后一个游戏,这里用3.0重写并做下笔记 **2.我也问过木头本人啦,他说:随便写,第一别全然照搬代码:第二能够说 ...
- Spring IOC及AOP学习总结
一.Spring IOC体系学习总结: Spring中有两个容器体系,一类是BeanFactory.还有一类是ApplicationContext.BeanFactory提供了基础的容器功能.Appl ...
- Hadoop-2.4.0安装和wordcount执行验证
Hadoop-2.4.0安装和wordcount执行验证 下面描写叙述了64位centos6.5机器下,安装32位hadoop-2.4.0,并通过执行 系统自带的WordCount样例来验证服务正确性 ...
- 代码重构 & 代码中的坏味道
1.重构 1.1 为什么要重构 1.1.1 改进程序设计 程序员为了快速完成任务,在没有完全理解整体架构之前就开始写代码, 导致程序逐渐失去自己的结构.重构则帮助重新组织代码,重新清晰的体现 程序结构 ...
- 高版本jQuery设置checkbox状态注意事项
jQuery 1.9 以后, 使用 .attr(“checked”, true) 或 attr(“checked”, “checked”) 将无法正确设置 checkbox的状态, 同样的, 使用 ...
- FAAC1.28 在海思HI3520D/HI3515A平台linux中的编译 优化
FAAC1.28的下载地址:http://www.audiocoding.com/downloads.html 怎样编译: 1../configure --host=arm-hisiv100nptl- ...
- 解决set /p yn= 接受键盘输入导致ECHO 处于关闭状态的问题
今天写了一个自动更新程序的批处理脚本,但是有个变量一直赋值有问题.弄了一个下午终于找到原因及解决方法: ----转载要说明来自:博客园--邦邦酱好 哦 有问题的代码如下: @echo off echo ...
- sdut 6-2 多态性与虚函数
6-2 多态性与虚函数 nid=24#time" title="C.C++.go.haskell.lua.pascal Time Limit1000ms Memory Limit ...
- ListView IllegalStateException
贴出源代码: android.widget.ListView ... if(mItemCount == 0){ resetList(); invokeOnItemScrollListener(); r ...