【发布时间】:2014-10-20 04:05:29
【问题描述】:
我正在用 Java 为我正在开发的虚拟宠物游戏构建 GUI,到目前为止,我的主要问题是确定获得所需结果的最佳方法。
基本上我有这样的基本设置
JFrame (MainFrame) Jpanel (MainPanel) 这个面板位于 Jframe 然后我将更多面板添加到主面板 menuPanel 和 gamePanel - 我使用 cardLayout 在面板之间切换
MenuPanel 提供了一个基本菜单来启动游戏/加载/帮助/退出(运行良好)。
GamePanel 是我遇到问题的地方。
我想提供一个屏幕来允许玩家输入数据(宠物名称、类型等) '不知道这是否是最好的方法,因为我还希望他们能够检查详细信息是否正确,如果不允许他们重新输入。
我遇到的另一个问题是我想要这样的设置
宠物区域(背景、宠物动画) 在此按钮下方保持静态。
vvvvvvvvvvvvvvvvvvvvv
v v
v v
v Pet Area v
vvvvvvvvvvvvvvvvvvvvv
v v
v buttons v
vvvvvvvvvvvvvvvvvvvvv
我尝试在 gamePanel 上添加两个面板 - graphicsPanel 和 buttonPanel,但 netbeans 的面板层次结构存在问题。
如果有人做过类似的项目并且可以给我一些更好的编码建议,将不胜感激。它将以这种方式工作,但它看起来很混乱且效率低下。
【问题讨论】:
-
CardLayout是一个好的开始。您可以考虑创建一个半透明面板,当您希望用户输入数据时,您可以将其覆盖在GamePane上,如果可能的话,暂停其下的游戏。这将要求GamePane本身有它自己的布局,例如OverlayLayout甚至GridBagLayout
标签: java swing user-interface