gpt4 book ai didi

java - 为什么我的所有标签在 boderLayout WEST 时都间隔 4 个选项卡?

转载 作者:行者123 更新时间:2023-12-01 22:33:58 25 4
gpt4 key购买 nike

我有一个 JPrame 并将其设置为 borderLayout。然后我创建了另一个使用 BoxLayout 的 JPnael。现在我已将标签(包含文本)和文本字段添加到 JPanel 中。我还将 JPanel 的布局设置为 WES​​T。现在我不知道为什么,但我对显示的内容有两个问题。

1)标签都是缩进的4-5个制表符空格,这太随机了我什至不知道为什么它是制表符。该面板中的所有标签都是这样的。请注意,只有当我向 JPanel 添加更多内容时才会发生这种情况。如果我在 JPanel 中只有 1 个标签,它会正确对齐到屏幕的西角。有谁知道为什么当我向 JPanel 添加更多元素时它们会缩进?

2)文本字段的大小很大,因为它们占用了很多行。我将文本字段的大小仅设置为 20。但它们大约需要 5 行。为什么它不只是一行?

对不起,大家,过去 2 小时我一直在尝试解决这个问题,但不知道是什么导致了这个问题。我会发布代码,但这是一项作业,我不愿意将其发布到互联网上。我希望你明白。

为了清楚起见,我有一个名为“aPanel”的 JPanel,它设置为 BorderLayout,然后我有另一个名为“subPanel”的 JPanel,它使用 boxlayout 并将其布局设置为西。之后,我向这个“子面板”添加内容,期望元素朝 JFrame 的左边框相互堆叠。

最佳答案

1) 阅读 Swing 教程中 Fixing Alignment Problems 的部分。当您向面板添加不同的组件时,它们可能具有不同的“X 对齐方式”,因此您会得到与预期不同的布局。

2) 框布局将扩展以填充可用空间。因此,您需要重写文本字段的 getMaximumSize() 方法,以返回文本字段的首选高度和文本字段的最大宽度。

编辑:

只需阅读您提到 FlowLayout 的最后一部分。如果这就是您正在使用的,请阅读 FlowLayout API。它有一个参数控制添加到面板的组件的左/中/右对齐。

关于java - 为什么我的所有标签在 boderLayout WEST 时都间隔 4 个选项卡?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27152303/

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