我有一个简单的 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);
}
}
}