将 JPanel 作为参数传递给其他类是否正确?



我确定不是,但是我在思考其他方法时感到头疼。我有一个带有背景和字符线程的视频游戏面板。这个角色在100毫秒的基础上不断改变他的位置,我想在屏幕上显示他所做的每一步。我可以轻松地将gamePanel作为参数传递给角色,但是当我这样做时,我感到内心很脏,因为我知道这是错误的方式。有什么帮助吗?

JPanel 只是一个类。可以将任何类的对象作为参数传递给方法。如果要将其传递给另一个类中的方法,则必须小心访问另一个类。但是只是传递JPanel的对象是完全可以

JPanel 作为参数传递给方法本身并没有错,因为它与其他任何对象一样都是一个对象,但我确实担心你如何使用它绘制 JPanel。你不是打电话给getGraphics()是吗?我希望不会。


编辑
你说/我回答:

事实是,我正在尝试不同的解决方案,现在我没有使用 JPanel 作为参考的代码版本。

所以这不是问题吗?

无论如何,在那个版本中一切都很好。我只是担心,因为在具有更多线程的假设情况下,为所有人共享 JPanel 对我来说听起来并不那么安全。因此,主要问题。

线程几乎从来都不是问题,只要您注意在 Swing 事件线程上进行任何和所有 Swing 调用,并在后台线程上调用所有长时间运行的代码。我不明白这与你关于将 JPanel 作为参数传入的原始问题有什么关系。

如果您仍然有疑问,您将需要进一步澄清,因为您仍在谈论我们无法访问的阴暗

的笨拙巨无霸。

最新更新