gpt4 book ai didi

java - 在一个 jframe 中的两个 jpanel 中使用两种绘制方法

转载 作者:行者123 更新时间:2023-11-30 06:56:20 26 4
gpt4 key购买 nike

我最近在尝试为我的框架创建叠加层时偶然发现了一个问题。该框架由 2 个面板组成,一个 GamePanel 和一个 OverlayPanel,每个面板都有自己的 paint 方法。我将它们分开是为了保持代码的简洁和效率。不过,我现在遇到的问题是我的 paintComponent 方法相互重叠,导致一次只能看到一个绘制的面板。

据我所知,这很可能是由于两个面板都覆盖了整个屏幕造成的。然而,OverlayPanel 上绘制的内容仅覆盖了屏幕的一部分。

目标是 GamePanel 将绘制某种类型的 map ,然后 OverlayPanel 将在该 map 顶部的给定位置绘制一些内容,例如矩形.

我的方法是错误的,还是我遗漏了什么?

最佳答案

Is my approach to this wrong, ..

是的。可以将绘制操作分离到不同类中的不同方法中,但仍然可以通过单个方法完成整个绘制操作。

假设有一个带有 draw(Graphics2D) 方法的 Map 类,以及一个也带有 draw( Graphics2D) 方法。每个类都知道如何将自己的部分绘制到公共(public)图形实例上。在 GameField 类的 paintComponent(Graphics) 方法中,调用 map 和玩家类的相关绘制方法,以及需要渲染的任何其他游戏元素.

关于java - 在一个 jframe 中的两个 jpanel 中使用两种绘制方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41726602/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com