无法绘制到 canvas:"cannot be applied to given types"

Can't draw to canvas: "cannot be applied to given types"

我用了边框布局,中间放了一个canvas;主要游戏的位置,但我无法绘制任何东西。

谁能给我指出正确的方向?

import java.awt.*;
import javax.swing.*;

public class TestingGraphics {

    public static void main (String[] args) {
          GameScene window = new GameScene();
    }
}
import java.awt.*;
import javax.swing.*;

public class GameScene extends JFrame {
       
    Canvas gameCanvas;
    Graphics Pencil;
    JPanel game;
   
    public GameScene() {
        game = new JPanel();
        add(game);

        setTitle("Yet to name this thing.");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);      
      
        gameCanvas = new Canvas();
        gameCanvas.setPreferredSize(new Dimension(1280, 720));
        game.add(gameCanvas);
     
        drawString();
      
        pack();
        setLocationRelativeTo(null);
        setVisible(true);
    }
   
    public void drawString(Graphics Pencil) {
         Pencil.drawString("boo", 100, 100);
    }
}   

你的问题是你在胡乱猜测如何在 Swing 中绘制,但从来没有奏效,你的错误包括试图直接在 JFrame 中绘制,试图在不传递必要参数的情况下调用方法,绘制在任何绘画方法之外...。首先,转到您可以在此处找到的 Swing 绘图教程:Swing Drawing Tutorials -- 并阅读它们。

接下来,照他们说的做:

  • 创建一个 class 扩展 JPanel
  • 在 class 的 paintComponent 方法覆盖中绘制,而不是直接在 JFrame 中绘制
  • 一定要在重写的方法中调用 super 的 paintComponent 方法。
  • 将您的 JPanel 添加到顶层 window,例如 JFrame
  • 显示 GUI
  • 完成。