从包含Graphics g[JAVA]的不同类调用方法

从包含Graphics g[JAVA]的不同类调用方法,java,graphics,Java,Graphics,我在玩图形游戏,遇到了一些障碍。我似乎无法调用包含我的图形的另一个类。提前谢谢。正如你们所看到的,我试着把它叫做gameOBJ.Draw,但它给了我错误。 这就是错误: GameObjects类型中的DrawGraphics方法不适用于参数 public class Testing{ public boolean running = true; public static void main(String[] args) { GameObjects gameOBJ = new Game

我在玩图形游戏,遇到了一些障碍。我似乎无法调用包含我的图形的另一个类。提前谢谢。正如你们所看到的,我试着把它叫做gameOBJ.Draw,但它给了我错误。 这就是错误: GameObjects类型中的DrawGraphics方法不适用于参数

public class Testing{

public boolean running = true;
public static void main(String[] args) {
    GameObjects gameOBJ = new GameObjects();
    gameOBJ.Draw();
    Window window = new Window(Window.WIDTH, Window.HEIGHT, Window.TITLE);
}






public class GameObjects{

public void Draw(Graphics g) {
    g.setColor(Color.BLACK);
    g.fillRect(0, 0, Window.WIDTH, Window.HEIGHT);

}
}

此处:

gameOBJ.Draw();
在那里:

public void Draw(Graphics g) 
方法签名期望您传递一个参数,而您的调用没有。根本不能那样做


这里的关键点是:你必须理解你在做什么:当你的绘图方法应该在某个东西上绘图时,你必须将该东西传递给它,例如首先创建该窗口,然后获取属于该窗口的图形对象。

要修复编译错误,你可以传递一个图形对象

例如,您可以使用windows图形,但这可能不是任务/项目的要求。JDK10 Window.TITLE不存在,我怀疑早期版本中是否也有

可选:按照约定,Java中的方法名称应以小写字符开头,因此方法名称应为draw


它给了我错误哪一个?测试后你是否缺少一个结束括号,或者这是你的实际代码?GameObjects类中没有函数Draw;需要图形类型的对象和内嵌gameOBJ.Draw;您没有将任何对象作为argoment.unrelated传递:请了解java命名约定,方法名称按大小写,所以绘制,而不是绘制!必须首先初始化图形对象。图形g=新图形;查看此对象API以了解其工作原理,然后尝试使用gameOBJ.Drawg;。我没有看到任何错误,但是当我运行程序时,我也没有看到我的图形。感谢您的时间和帮助!:是的,这是有道理的,我知道它必须通过一个论点,但我所做的一切工作,所以我把它清楚地张贴在这里。谢谢您:
public static void main(String[] args) {
    GameObjects gameOBJ = new GameObjects();

    //Pass the graphics object to the Draw method   
    Window window = new Window(Window.WIDTH, Window.HEIGHT, Window.TITLE);
    Graphics graphics =window.getGraphics() ; 
    gameOBJ.Draw(graphics);
}