想必很多新手也曾像我一样想编出一些好玩的东西来,但如果连图片加载都不会,那可打脸了.闲话少说,
上代码
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");
还有后缀名也要加上去
`