Java 如何使用图形在JPanel上绘制

Java 如何使用图形在JPanel上绘制,java,swing,graphics,jpanel,Java,Swing,Graphics,Jpanel,我正在做一个项目,我已经制作了一个菜单和一个JPanel,但是现在我想画一个JPanel,并在我的游戏中添加一些HUD 我正在为我的游戏的最后一个面板提供一张图片,我想在左边添加一个带有玩家头部的蓝色矩形,在右边添加另一个带有动作、金钱等的矩形,但我想在我的Window类之外构建它们,在这里我构建了框架和所有的JPanel。一般来说,现在玩家已经选择玩本地游戏,我希望能够在游戏继续时在此面板上绘制和擦除。 我提供的代码是我在游戏引擎类中使用的渲染方法。在我的游戏引擎中,我让这个方法每秒循环10

我正在做一个项目,我已经制作了一个菜单和一个
JPanel
,但是现在我想画一个
JPanel
,并在我的游戏中添加一些HUD

我正在为我的游戏的最后一个面板提供一张图片,我想在左边添加一个带有玩家头部的蓝色矩形,在右边添加另一个带有动作、金钱等的矩形,但我想在我的Window类之外构建它们,在这里我构建了框架和所有的JPanel。一般来说,现在玩家已经选择玩本地游戏,我希望能够在游戏继续时在此面板上绘制和擦除。

我提供的代码是我在游戏引擎类中使用的渲染方法。在我的游戏引擎中,我让这个方法每秒循环10次,我想从这里实例化
Graphics
类,然后继续使用另一个类,并渲染我想在
JPanel
上绘制的所有内容


如何使用
Graphics
或类似的东西绘制
JPanel
呢?

您必须使用这样的图形对象:

Graphics g= bs.getDrawGraphics();
我想它会有用的,祝你有一个愉快的一天


PD:如果您不想这样做,您也可以重写方法paint(Graphcis g)并使用参数。

我如何使用图形绘制该JPanel-我们发布的代码使用的是缓冲策略,这意味着您使用的是画布,而不是JPanel,因此我不太理解您的问题。如果使用画布,则只需将绘制代码添加到其他绘制逻辑。因此,您需要向类中添加“属性”,以控制您绘制或不绘制的内容。如果您正在使用Swing,不知道这是否有帮助,但您可以查看Oracle教程。问题是使用画布不起作用,因此我提出这个问题1)为了更快地获得更好的帮助,请添加或。硬编码要绘制的数据。2) 提示:添加@camickr(或任何人,
@
很重要)以通知此人新的评论。@使用画布的Kamora不起作用,您已经获得了一个指向Swing教程的链接,该教程介绍了如何在JPanel上进行自定义绘制。我以前有过类似的方法,但它不起作用。。。我做了更多的研究,我认为问题在于Swing类的线程和我的游戏引擎的线程无法通信,因此图形无法在JPanel上绘制。。。虽然我不太确定是不是这样。
Graphics g= bs.getDrawGraphics();