Images的标准用法
2016-07-29 15:29
288 查看
import java.awt.Graphics; import java.awt.Image; import java.awt.Toolkit; import java.util.HashMap; import java.util.Map; public class PaintTank { private Tank tank; int centreX; int centreY; public PaintTank(Tank tank) { this.tank = tank; } //工具包: 可以干一些适合操作系统干的事 create创造 private static Toolkit tk = Toolkit.getDefaultToolkit(); //拿到默认的工具包 //这个静态好用 //把资源文件放到clsspath下,eclipse的src目录下, 使用url加载, 等真正要用了才加载进内存, 异步IO, 第一次可能画不出来 private static Image[] images = null; private static Map<String, Image> imagesTank = new HashMap<String, Image>();//不写这个用图片的时候images[0]这么都是什么鬼 <span style="white-space:pre"> </span>//静态代码块的好处 static { images = new Image[] { tk.getImage(PaintTank.class.getClassLoader().getResource("images/tankL.gif")), tk.getImage(PaintTank.class.getClassLoader().getResource("images/tankU.gif")), tk.getImage(PaintTank.class.getClassLoader().getResource("images/tankR.gif")), tk.getImage(PaintTank.class.getClassLoader().getResource("images/tankD.gif")) }; imagesTank.put("L", images[0]); imagesTank.put("U", images[1]); imagesTank.put("R", images[2]); imagesTank.put("D", images[3]); }; public void paintTank(Graphics g) { tank.getMoveTank().move(); switch(tank.getDirection()){ case L: g.drawImage(imagesTank.get("L"), tank.getxAxis(), tank.getyAxis(), null); break; case U: g.drawImage(imagesTank.get("U"), tank.getxAxis(), tank.getyAxis(), null); break; case R: g.drawImage(imagesTank.get("R"), tank.getxAxis(), tank.getyAxis(), null); break; case D: g.drawImage(imagesTank.get("D"), tank.getxAxis(), tank.getyAxis(), null); break; } } }
相关文章推荐
- Linux---uptime
- 解决Ubuntu下genymotion出现"Unable to load VirtualBox engine"问题
- iOS笔记 runtime Method Swizzle 方法交换//
- mysql自学笔记
- 关于CTE的使用,以及TOP/ORDER BY的执行顺序
- QT使用插件QAxWidget
- 搜索界面布局
- 修改Android MTK 开关机动画 log
- Hadoop 参数小结
- JS获取IP、MAC和主机名的几种方法
- 趣味100道C语言编程题num eight
- .net post url获取json
- 缺包报错
- PHP 引用 返回引用 静态变量的问题
- 选择恐惧症的福音!教你认清MVC,MVP和MVVM
- 苹果开发帐号说明
- 受限玻尔兹曼机(RBM)学习笔记
- 详解 Python 中的下划线命名规则
- 【HDOJ 】 String problem(最大权闭合图)
- xml小于号问题