论坛首页 Java企业应用论坛

带图片的SWING打包

浏览 5807 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (12) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-04-20  
带图片的SWING打包后怎么看不到图片,请问应该如何打包才行?
   发表时间:2011-04-20  
http://www.iteye.com/topic/483115
0 请登录后投票
   发表时间:2011-04-20  
我用fatjar打的包 可以带图片显示
0 请登录后投票
   发表时间:2011-04-20  
额!关注!我之前也遇到过这个问题,一直没解决,期待!
0 请登录后投票
   发表时间:2011-04-20  
谢谢,试试看行不行
0 请登录后投票
   发表时间:2011-04-21  
请问有人知道不?
0 请登录后投票
   发表时间:2011-04-21  
你把图片和语言配置文件等相关东西,全部都当作类一样处理,把他们放在包里面,而不是放在项目下面的一些文件夹就可以。

假设,图片放在barrywey.productsys.resource.images包下面
假设,现在有一个Frame是添加产品的叫做AddProductFrame,如果在这里你想使用图片,你可以使用这样的代码:
Icon logo = new ImageIcon(AddProductFrame.class.getResource("barrywey.productsys.resource.images.logo.png"));
lblLogo.setIcon(logo);



为了方便起见,你可以写一个ImageManager专门用来做这个事情:
import java.awt.Image;

import javax.swing.Icon;
import javax.swing.ImageIcon;

/**
 * 
 * 
 * 
 * @author Barry Wey
 * @version 1.0, Apr 8, 2011
 * @since JDK1.6
 */
public abstract class ImageManager {

	public static Icon getIcon(String name) {
		return new ImageIcon(ImageManager.class.getResource(name));
	}

	public static Image getImage(String name) {
		return new ImageIcon(ImageManager.class.getResource(name)).getImage();
	}
}
0 请登录后投票
   发表时间:2011-04-21  
jar包中的图片等资源文件要使用ClassLoader.getResourseAsStream()来加载
0 请登录后投票
   发表时间:2011-04-21  
我的做法,在SRC目录下新建images目录,下面存放find.gif图片,
String imagePath = "images/find.gif";
ImageIcon icon = new Image(this.class.getClassLoader().getResource(imagePath));
用这个方法就能加载图片,导出时用Eclipse的export就可以了。
0 请登录后投票
   发表时间:2011-04-21  
我插 楼主新手
实在不行 直接拷到jar包外面一层目录 改下就好
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics