gpt4 book ai didi

java - 在单个程序中制作多个帧

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:47:42 25 4
gpt4 key购买 nike

我一直想知道如何制作一个包含多个 JFrames 的程序。我的意思是我只想要一个类来处理所有 GUI 和其他东西,但我怎样才能有效地做到这一点?很多教程都说我们通过继承JFrame来制作JFrame。但是,如果我想要很多帧怎么办?

例如:带有一些选项的一个框架中的应用程序标题菜单是一个框架主要工作应用程序是一个框架就像在游戏中一样。

但我不确定我是否属于 JPanel?我对 2 完全感到困惑。我只想要一个不动的框架,但基本上框架的内容正在改变。例如,当我点击开始时,它会变成框架的游戏风格。

最佳答案

您正在寻找带有 CardLayoutJFrame。一些背景:

JFrame 是物理窗口。它带有一个标题栏和三个按钮:最小化、最大化和关闭。将其想象成一个相框。

JPanel 是一种“内容容器”。通常,您将其他组件(按钮、动画等)放在 JPanel 上,然后将该 JPanel 放入 JFrame 中。使用我们的相框示例,JPanel 将是您放入相框的相纸。其他组件将是图片本身的实际内容,最后您拥有的是一张漂亮的图片……或者在您的情况下,是一个应用程序。

将 JFrame 设置为使用 CardLayout 实质上可以让您在同一个 JFrame 中同时拥有多个 JPanel,同时仍然一次只显示一个。因此,对于您的应用程序,您将(至少)有两个 JPanel:一个用于菜单,一个用于游戏。当应用程序启动时,您将显示 MenuPanel。当用户单击“开始”时,您将切换到 GamePanel。 MenuPanel 将置于后台,并且在您再次将其调用到前台之前将无法访问。

另一方面,如果您创建多个 JFrames,您将有两个或更多物理上独立的窗口,可以单独处理。这实际上对游戏开发来说可能有点酷。虽然构建和链接第二个窗口的 GUI 需要更多时间,但您可以让该窗口实时影响游戏设置(射速、子弹强度、玩家速度等)

关于java - 在单个程序中制作多个帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17654894/

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