これは、私の JFrame に追加された私のクラスにあります。このクラスをオフスクリーンで使用して別のクラスからグラフィックを描画する方法を教えてもらえますか? たとえば、Player クラス (Player.java) があり、そのクラスから画像やその他のものを描画しますが、描画元の各クラスで新しいダブル バッファリング メソッドを作成せずに画像をバッファリングしますか?
package Display;
import Graphics.Player1;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class DrawArea extends JPanel implements Runnable{
Thread drawLoop = new Thread(this);
BufferedImage image = new BufferedImage(1000, 700, BufferedImage.TYPE_INT_RGB);
public Graphics offScreen = image.getGraphics();
public DrawArea() {
setSize(1000, 700);
drawLoop.start();
}
public void update(Graphics g) {
paint(g);
}
public void paint(Graphics g) {
offScreen.setColor(Color.yellow);
offScreen.fillRect(0, 0, 1000, 700);
g.drawImage(image, 0, 0, null);
}
public void run() {
while(true) {
repaint();
try {
drawLoop.sleep(90);
} catch (InterruptedException ex) {
Logger.getLogger(DrawArea.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
}