Java加载图片 冷不防 2022-06-04 08:26 177阅读 0赞 想必很多新手也曾像我一样想编出一些好玩的东西来,但如果连图片加载都不会,那可打脸了.闲话少说, 上代码 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"); 还有后缀名也要加上去 \`
还没有评论,来说两句吧...