Java Swing游戏应该只有一个绘图组件吗?

Java Swing游戏应该只有一个绘图组件吗?,java,swing,graphics,drawing,Java,Swing,Graphics,Drawing,我一直在使用JPanel并覆盖paintComponent(),以便在Swing游戏中执行绘图。我现在正在尝试添加一个目录,其中包含玩家可以在屏幕上拖动并移动到其“背包”中不同位置的不同物品。Swing游戏应该只在单个JPanel或其他组件上绘制(例如:在鼠标位置绘制项目的图像),还是可以添加图标为项目图片的JButtons 游戏应该只包含一个绘图组件,还是可以包含更多的绘图组件?原则上,您可以有任意数量的组件。Swing——就像其他任何精心设计的库,如java的SWT或Qt和WxWIDGET

我一直在使用
JPanel
并覆盖
paintComponent()
,以便在Swing游戏中执行绘图。我现在正在尝试添加一个目录,其中包含玩家可以在屏幕上拖动并移动到其“背包”中不同位置的不同物品。Swing游戏应该只在单个
JPanel
或其他组件上绘制(例如:在鼠标位置绘制项目的图像),还是可以添加图标为项目图片的
JButton
s


游戏应该只包含一个绘图组件,还是可以包含更多的绘图组件?

原则上,您可以有任意数量的组件。Swing——就像其他任何精心设计的库,如java的SWT或Qt和WxWIDGET C++一样,都足够聪明,只需要真正需要的东西就可以进入屏幕。
只要您没有遇到性能问题,就没有问题。如果确实发生这种情况,您可能首先要查看您自己的paintComponent实现,因为这是最可能导致效率降低的位置。

原则上,您可以拥有任意数量的想要拥有的组件。Swing——就像其他任何精心设计的库,如java的SWT或Qt和WxWIDGET C++一样,都足够聪明,只需要真正需要的东西就可以进入屏幕。
只要您没有遇到性能问题,就没有问题。如果确实发生这种情况,您可能首先要查看自己的paintComponent实现,因为这是最可能导致效率降低的位置。

在多个组件上绘图没有问题。当然,您也可以添加Swing组件,如
JButton
或任何其他适合您设计的组件。问题归结为几件事——您是否希望Swing控制绘画过程,以及游戏有多复杂。如果你愿意让Swing为你画所有的画,那么你不应该有任何问题。如果要控制绘制过程(
BufferedStrategy
),则可能会遇到问题在多个组件上绘制没有问题。当然,您也可以添加Swing组件,如
JButton
或任何其他适合您设计的组件。问题归结为几件事——您是否希望Swing控制绘画过程,以及游戏有多复杂。如果你愿意让Swing为你画所有的画,那么你不应该有任何问题。如果要控制绘制过程(
BufferedStrategy
),则可能会遇到问题