这在我的班级中被添加到我的 JFrame 中。任何人都可以帮助我如何使用这些类 offScreen 从另一个类中绘制图形吗?例如,有一个 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);
}
}
}
}