我在互联网上找到了创建 2D 图形游戏的培训,并在此基础上编写了下面的代码,但是当我编译时没有任何反应!它只是显示一个没有任何内容的窗口。通过使用 drawString 和 drawLine 我真的希望看到一些东西,但窗口是空的!有什么问题 ?代码错了吗?还是我使用了错误的方法?
import java.awt.Canvas;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics2D;
import java.awt.image.BufferStrategy;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Game extends Canvas {
    BufferStrategy strategy;
    boolean gameRunning = true;
        public Game() {     
            JFrame jf = new JFrame("My Graphic thingy !");
        JPanel panel = (JPanel) jf.getContentPane();
        panel.setPreferredSize(new Dimension(800, 600));
        panel.setLayout(null);
        setBounds(0, 0, 800, 600);
        panel.add(this);
        setIgnoreRepaint(true);
        jf.pack();
        jf.setResizable(false);
        jf.setVisible(true);
        jf.createBufferStrategy(2);
        strategy = jf.getBufferStrategy();
    }
    public void gameLoop() {
        long lastLoopTime = System.currentTimeMillis();
        while (gameRunning) {
            lastLoopTime = System.currentTimeMillis();
            Graphics2D g = (Graphics2D) strategy.getDrawGraphics();
            g.setColor(Color.black);
            g.fillRect(0, 0, 800, 600);
            g.drawString("HellO", 12,12);
            g.drawLine(10, 10, 30, 30);
            g.dispose();
            strategy.show();
            try {
                    Thread.sleep(2000);
            } catch (Exception e) {
            }
        }
    }
    public static void main(String[] args) {
        Game g = new Game();
        g.gameLoop();
    }
}