Java加载图片

来源:互联网 发布:java判断是否有双引号 编辑:程序博客网 时间:2024/06/05 08:42


想必很多新手也曾像我一样想编出一些好玩的东西来,但如果连图片加载都不会,那可打脸了.闲话少说,

上代码

package Test;import java.awt.Image;import java.awt.image.BufferedImage;import java.io.BufferedReader;import java.io.IOException;import java.net.URL;import javax.imageio.ImageIO;public class GameUtil {public static Image getImage(String path) {URL url = GameUtil.class.getClassLoader().getResource(path);BufferedImage image = null;try {image = ImageIO.read(url);} catch (IOException e) {e.printStackTrace();}return image;}}

这个是一个工具类,就是将我们平常加载图片时要经常的一个方法将它封装起来,以后要用的时候就直接拿来用,当然你也可以将它转换jar包,或者自己写一个,这都是可以的.光有工具,没有实例就像看api文档,
上代码
import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.Image;import javax.swing.JFrame;public class GameTest {public static void main(String[] args) {new Test("开心");}}class Test extends JFrame{Image image=GameUtil.getImage("image/开心.jpg");public Test(String title){super(title);init();}void init(){this.setSize(image.getHeight(null),image.getHeight(null));this.setLocation(100, 100);this.setResizable(false);//锁定窗口大小this.setVisible(true);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}public void paint(Graphics g) {g.drawImage(image,0, 0, image.getHeight(null), image.getHeight(null), this);g.drawRect(100, 100, 100, 100);g.setColor(Color.CYAN);g.setFont(new Font("宋体",Font.BOLD , 50));//Fond.Bold常量g.drawString("哈哈哈", 100, 100);}}

注意事项
1.在src下新建一个image的文件夹folder,将所用的照片放在里面就行了
2.使用这个工具类时只能用相对路径,不可用绝对路径
URL url = GameUtil.class.getClassLoader().getResource(path); 
所用的URL是主类所在的位置
3.调用时一定要写清楚文件所在的位置比如我所用的相对地址是 image/开心.jpg
Image image=GameUtil.getImage("image/开心.jpg");
还有后缀名也要加上去`

原创粉丝点击