有一低级问题,望各位高手指教。
双缓冲技术不能直接适用于CANVAS中吗?
在一APPLET中有一个CANVAS类,我想在CANVAS的PAINT()中实现双缓冲,但是不行。
部分代码class Cb extends Canvas{ public void paint(Graphics g){
Graphics ggg=img.getGraphics(); //如果我直接使用,就不能显示出图象了
ggg.drawImage(m,0,0,500,500,this );
g.drawImage(img ,Example.x1,Example.y1,5000,5000,this); }
Cb(){
getSize();
m=Example.img;
img=Example.img2; //要加上这句才行,Example.img2为主类中的一个可修改图象类
//主类中 img2=createImage(500,500);
}}
难道必须要在主类中创建了一个可修改图象,然后再传进来才能用吗?为什么呢?
双缓冲技术不能直接适用于CANVAS中吗?
在一APPLET中有一个CANVAS类,我想在CANVAS的PAINT()中实现双缓冲,但是不行。
部分代码class Cb extends Canvas{ public void paint(Graphics g){
Graphics ggg=img.getGraphics(); //如果我直接使用,就不能显示出图象了
ggg.drawImage(m,0,0,500,500,this );
g.drawImage(img ,Example.x1,Example.y1,5000,5000,this); }
Cb(){
getSize();
m=Example.img;
img=Example.img2; //要加上这句才行,Example.img2为主类中的一个可修改图象类
//主类中 img2=createImage(500,500);
}}
难道必须要在主类中创建了一个可修改图象,然后再传进来才能用吗?为什么呢?
class Cb extends Canvas{
public void paint(Graphics g){
Graphics ggg=img.getGraphics(); //如果我直接使用,就不能显示出图象了
ggg.drawImage(m,0,0,500,500,this );
g.drawImage(img ,Example.x1,Example.y1,5000,5000,this);
}
Cb(){
getSize();
m=Example.img; //Example为主类,Example.img为从文件中读取的一个图象
img=Example.img2; //要加上这句才行,Example.img2为主类中的一个可修改图象类
//主类中 img2=createImage(500,500);
}
}
代码中的 img=Example.img2,Example.img2为主类中的可修改image; 这句如果我直接用img=createImage(x,y)就不行。
public Image img=null;
public void paint(Graphics g){
Graphics ggg=img.getGraphics();
ggg.drawImage(m,0,0,500,500,this );
g.drawImage(img ,Example.x1,Example.y1,5000,5000,this);
}
Cb(){
getSize();
m=Example.img;
img=Image.createIamge(x,y);
}
}
我怎么调不出来这个方法呢?
我觉得会不会是Applet中只有主类才能操作后台,其他的类不行?