1.public Image createImage(int width,int height)
(在awt.Componet包中)
它是在内存中创建的Image对象,所以重绘速度快很多
JDK文档中描述:创建一幅用于双缓冲,可以在屏幕外绘制的图像,如果组件不可显示, 则返回null
所以在绘图的时候需要先调用setVisible方法来显示组件
必须在GUI程序第一次调用paint方法之后才能使用createImage
可以在程序上使用语句:
Image oimg = null;
Graphics og = null;
public void paint(Graphics og){
if(oimg != null){
og.drawImage(oimg, 0, 0, this);
}
}
createImage就像一个画布一样,把要画的图像加载到它的Image对象上
所以代码写成:
Dimension d = this.getSize();
oimg = this.createImage(d.width, d.height);
og = oimg.getGraphics();
getSize方法返回当前对象的,以Dimention对象的形式返回组件的大小
上面说createImage对象是创建一幅用于双缓冲,可以在屏幕外绘制的图像
所以把组件的大小传递给createImage方法,由这个方法来创建
另外getGraphics相当于一个画笔,把画笔传递给了Graphics对象,就可以画图了
2.getImage abstract Image getImage(String filename)
用于返回一幅图像,该图像从指定文件中获取像素数据,
Image img = getToolkit().getImage(“C://a.jpg”);
getToolkit方法返回此组件的工具包
此处getImage位于ToolKit类中,而ToolKit类是抽象类,不可以直接创建,所 以从Component中寻找到getToolKit方法,它返回ToolKit类型,再调用