【问题标题】:Java JFrame LayoutsJava JFrame 布局
【发布时间】:2012-09-24 19:41:01
【问题描述】:

我正在制作一个简单的迷宫程序,用户可以在其中创建墙壁、路径、起点和终点,单击解决,迷宫将被解决。为此,我有一个大小为 640x480 的 java JFrame。在 JFrame 的左侧,我有一个 JPanel,左上角坐标为 0,0,大小为 480x480。这是绘制迷宫的区域,用户可以指定墙壁和路径。我遇到的问题是当我开始在屏幕右侧添加按钮和单选按钮时。我使用的每个布局(例如 boxlayout、springlayout、flowlayout 或网格布局)似乎都没有按照我的意愿进行。我希望 JPanel 保持原样(在最右侧,大小为 480x480),并且按钮从 480 开始自上而下排列(因为这是 JPanel 结束的地方)。我认为我需要的是指定布局开始的位置而不是自动排列 JPanel。有什么办法可以做到这一点吗?还是我只需要一个空布局?

【问题讨论】:

  • 如需更好的帮助,请尽快发帖SSCCE,
  • GUI 的文字描述对我来说毫无意义。你可以用 ASCII 艺术或绘画应用程序来绘制它吗?
  • 这是我的最终产品外观的gyazo,gyazo.com/2ca907828264729f3e7b1a948774433e。 Jpanel 以特定大小位于右侧,按钮自上而下排列在左侧。

标签: java swing layout jframe jpanel


【解决方案1】:

看看我的这个答案:

Positioning of components (how to place a few buttons center screen same size)

Jframe not the right size when its executed, any reason why?

您想要做的是在一组单选按钮上设置一个 480x480 的 JPanel。 只需使用带有 PAGE_AXIS 的 BoxLayout 并按照链接中的指南操作即可。

【讨论】:

    【解决方案2】:

    我会使用 BorderLayout;将您的 480 方形面板放在 CENTER 中,并将其最小、最大和首选尺寸设置为 480。(有一个问题,这是否是一个好主意,但您说您想要这个特定的尺寸。)

    将另一个 JPanel 放在 SOUTH 中,让它自动排列你想要的按钮。有从左到右、一排或两排等的布局。

    然后,您可以在 JPanel 中心执行特定于创建墙壁和门的操作,用户可以调整窗口大小,按钮的布局管理器将执行您为此指定的操作。

    【讨论】:

      猜你喜欢
      • 2012-01-29
      • 2011-04-20
      • 2016-02-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-24
      相关资源
      最近更新 更多