我有一个简单的Java JFrame画布。每半秒钟左右,我都会更新屏幕上的内容,但是会出现闪烁。我希望实现双缓冲来消除闪烁,但我对Java还不太熟悉,不知道该如何操作。我找到了一些示例,但不确定如何将它们的方法实现到我的项目中。
下面是我现在的基本设置。这不是我的确切代码-只是基本设置的示例。
感谢任何指引!
下面是我现在的基本设置。这不是我的确切代码-只是基本设置的示例。
感谢任何指引!
public class myCanvas extends Canvas{
//variables
Color rectColor=Color.red;
public myCanvas()
{
}
public void paint(Graphics graphics)
{
//initial setup, such as
graphics.setColor(rectColor);
graphics.fillRect(X,Y,W,H);
}
public static void main(String[] args)
{
myCanvas canvas = new myCanvas();
JFrame frame = new JFrame("GUI");
frame.setSize(frameWidth,frameHeight);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(canvas);
frame.setVisible(true);
while(true){
rectColor=Color.green;
canvas.validate();
canvas.repaint();
Thread.sleep(500);
}
}
}