想必很多新手也曾像我一样想编出一些好玩的东西来,但如果连图片加载都不会,那可打脸了.闲话少说,上代码
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;
}
}
</textarea>
这个是一个工具类,就是将我们平常加载图片时要经常的一个方法将它封装起来,以后要用的时候就直接拿来用,当然你也可以将它转换jar包,或者自己写一个,这都是可以的.
光有工具,没有实例就像看api文档,所以上代码
<textarea readonly="readonly" name="code" class="Java">
package Test;
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/1.jpg");
public Test(String title){
super(title);
init();
}
void init(){
this.setSize(image.getHeight(null),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) {
//JFrame父类的paint()方法重写
**g.drawImage(image,0, 0, image.getHeight(null), image.getHeight(null), this);**//调用g.drawImage()方法画出图片
g.drawRect(100, 100, 100, 100);
g.setColor(Color.CYAN);
g.setFont(new Font("宋体",Font.BOLD , 50));//Fond.Bold常量
g.drawString("哈哈哈", 100, 100);
}
}
</textarea>
**
注意事项
**
- 在src下新建一个image的文件夹folder,将所用的照片放在里面就行了
- 使用这个工具类时只能用相对路径,不可用绝对路径
<textarea readonly="readonly" name="code" class="Java">
URL url = GameUtil.class.getClassLoader().getResource(path);
</textarea>
所用的URL是主类所在的位置
- 调用时一定要写清楚文件所在的位置比如我所用的相对地址是 image/1.jpg
Image image=GameUtil.getImage("image/1.jpg");
还有后缀名也要加上去
`
今天的文章Java 加载图片分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/11950.html