gpt4 book ai didi

java - 在 Java 中使用 BorderLayout 按比例调整大小

转载 作者:行者123 更新时间:2023-11-30 03:48:58 25 4
gpt4 key购买 nike

我正在尝试创建一个 GUI,其中包含用于基于文本的游戏的三个主要面板:最左侧的面板用于统计数据/库存,中间的面板用于显示故事的文本 Pane 和一个文本字段输入您的命令,最右侧的 Pane 包含任务和任务信息。我将主要内容 Pane 设置为具有 BorderLayout,并将 JPanel 添加到西、中和东位置(尚未向面板添加任何组件)。中心面板占据了大部分空间,因此我将东面板和西面板的preferredSize 宽度设置为200,这对于JFrame (800x500) 的尺寸来说看起来非常合适。然而,当最大化窗口时,东面板和西面板保持在 200,而不是按比例放大,使其与中心面板相比显得很小。当将窗口的宽度调整为小于 800 时,东面板和西面板仍为 200,而中心面板变小,直至东面板和西面板重叠。我想知道是否可以使用 BorderLayout 的西、中、东位置在调整大小时按比例缩放,而不仅仅是中心上下调整大小。非常感谢您的宝贵时间!

编辑:下面是一些显示 GUI 的快照。据说我没有足够的声誉来在我的帖子中包含图像,因此我只能包含指向它们的超链接。第一个图像显示的框架为 800x500,默认尺寸(中心面板左侧和右侧的空白区域是空的 JPanel)。第二张图片显示 GUI 最大化(左右面板保持在 200)。

enter image description here

enter image description here

enter image description here

最佳答案

scale proportionally upon resizing rather than just the center resizing up and down.

我建议您使用GridBagLayout您可以在其中设置组件的宽度和高度(以百分比定义 GridBagConstraints 的不同约束)

请参阅 How to Use GridBagLayout 上的 Swing 教程

关于java - 在 Java 中使用 BorderLayout 按比例调整大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24895467/

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