コーディングを再開したばかりで、ダブルバッファリングの方法を忘れていたようです。これは私が今持っているコードで、何が欠けているのかわかりません。開始すると、楕円形ではなく、白い画面だけが表示されます。
レンダリングの間違いは何ですか?
import java.awt.Graphics;
import java.awt.Image;
import javax.swing.JFrame;
public class Graphs extends JFrame {
private Image dbImage;
private Graphics dbg;
public static void main(String[] args) {
new Graphs();
}
public Graphs() {
setSize(1000, 600);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setResizable(false);
setTitle("Graphs");
setLocationRelativeTo(null);
setVisible(true);
}
public void paint(Graphics g) {
dbImage = createImage(getWidth(), getHeight());
dbg = dbImage.getGraphics();
paintComponent(dbg);
dbg.drawImage(dbImage, 0, 0, this);
}
public void paintComponent(Graphics g) {
g.drawOval(200, 200, 200, 200);
repaint();
}
}
更新: コンパイル エラー@Override
The method paintComponent(Graphics) of type Graphs must override or implement a supertype method.
1 quick fix available:
-> Remove '@Override' annotation