我制作了一个Java游戏,但它是基于applet的。我想将其转换为独立的应用程序。不幸的是,我对 swing/java 应用程序一无所知,所以我不确定从哪里开始以及如何获得我想要的东西。
我的主要问题是游戏屏幕基本上分为两部分。 “游戏屏幕”和我所说的“仪表板”。如果您能想象帝国时代、星际争霸或任何其他 RTS 类型的游戏,那么布局就是这样的。
所以我想要的是屏幕有自己的图形面板(所有绘图/动画都是通过图形和图像类完成的),其中也有滚动条,这样游戏的大小就不受限制适合您的屏幕尺寸。我希望仪表板成为它自己单独的独立面板,它也使用图形方法。但最终,两个面板都在同一个窗口中。
这有可能吗?
PS:请随时索取游戏的任何代码或屏幕截图
编辑:如果可能的话,我应该如何做?
最佳答案
简单的 Swing 应用程序通常基于 JFrame
类。据我了解,整个游戏都是渲染的,并且没有在 UI 中使用标准组件。那么,粗略地说,JApplet
和 JFrame
类之间几乎没有区别。如果您使用特定的 JApplet 方法来加载资源或类似的方法,那么几乎所有这些方法都可以轻松地替换为对应的方法。
您可以创建一个组件类(通过扩展JComponent
)并使用它来渲染主游戏窗口。并创建另一个来渲染仪表板。然后使用 BorderLayout
作为 JFrame
上的布局管理器,将主窗口放置在中心,将仪表板放置在任意边缘。
Oracle 网站上有非常清晰的操作方法: How to Make Frames和 How to Use Panels .
关于Java Applet 到多面板应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9145471/