无法在画布上绘制:"cannot be applied to given types"



我使用了边框布局,并在中心放置了一个画布;主游戏将在哪里,但我什么都画不出来。

有人能给我指正确的方向吗?

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绘图辅导——并阅读它们。

接下来,按照他们告诉你的去做:

  • 创建一个扩展JPanel的类
  • 绘制该类的paintComponent方法重写,而不是直接在JFrame中绘制
  • 请确保在重写的方法中调用super的paintComponent方法
  • 将JPanel添加到顶级窗口,如JFrame
  • 显示GUI
  • 完成

相关内容

  • 没有找到相关文章

最新更新