绘图想用双缓冲,可生成的Image总是空的。
我用双缓冲机制绘图,可发现生成的Image总是空的。
于是用JFrame测试一下。发现总是无法生成Image。请教各位大侠。
以下是用JFrame测试的代码:
import javax.swing.JFrame;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.Color;
public class Temp extends JFrame{
Image data;
public Temp(){
try{
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setSize(400,400);
this.setVisible(true);
}catch(Exception ee){
ee.printStackTrace();
}
}
public static void main(String []args){
new Temp();
}
public void paint1(){
if(data==null)data=createImage(100,100);
else {
Graphics2D g=(Graphics2D)data.getGraphics();
g.setColor(new Color(0,0,255));
g.fillRect(0,0,50,50);
}
}
public void paint(Graphics g){
if(data!=null)g.drawImage(data,50,50,null);
else System.out.println("data is null");
}
}