我做为一个学生,听取学长的建议开始写博客,对自己每次做的东西进行总结,觉得很有必要。于是开始我第一篇博客。不说废话……
代码方面我就不讲了,我说一下我遇见的两个棘手的问题:
一、 在eclipse里面当导入图片的时候,避免出现一运行就黑屏的情况,不能在构造函数中导入图片,应该在paint方法里面去导入相应的图片导入代码如下“
public void paint(Graphics g) {
//导入图片,不会出现黑屏现象
String imagePath;
try {
imagePath = System.getProperty("user.dir")+"/image/11.jpg" ;
bgImage = ImageIO.read(new File(imagePath.replaceAll("\\\\", "/")));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
二、 就是在怎么在eclipse里面运行的项目做成EXE文件呢?
首先得利用一款软件叫做install4j,怎么用问度娘吧,做成EXE文件后如果图片路径不对,运行时依然是窗口黑屏。路径问题就是上面的
System.getProperty("user.dir")
表示程序运行的当前路径,image文件夹是放在和bin、src文件夹并列的地方。
还有一个想说的就是双缓冲技术,防止闪屏的,双缓冲技术:用在手机游戏中较多,原因是手机的内存相对较小,屏幕闪烁问题比较明显。
双缓冲,就是在内存中开辟一片区域,作为后台图象,程序对它进行更新、修改,绘制完成后再显示到屏幕上。
(1)定义一个Graphics对象gBuffer和一个Image对象iBuffer。按屏幕大小建立一个缓冲对象给iBuffer。然后取得iBuffer的Graphics赋给gBuffer。此处可以把gBuffer理解为逻辑上的缓冲屏幕,而把iBuffer理解为缓冲屏幕上的图象。
(2)在gBuffer(逻辑上的屏幕)上用paint(Graphics g)函数绘制图象。
(3)将后台图象iBuffer绘制到前台。
这是我做的
对于这些问题有其他解决方案欢迎交流,本人所学甚浅,希望相互学习进步。