単純なJavaJFrameキャンバスがあります。画面に表示されているものを0.5秒ごとに更新していますが、ちらつきがあります。ちらつきをなくすためにダブルバッファリングを実装したいのですが、私は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);
}
}
}