【发布时间】:2019-03-15 12:33:37
【问题描述】:
我有一个复制谷歌登录 GUI here 的项目。到目前为止,我仍在寻找我要开始的内容,但经过一些研究,我认为 BorderLayout 可以做到这一点。我通过边界重新调整所有内容来了解它的工作原理,我有点喜欢它,因为与空布局和为每个组件的每个 setBounds 编码相比,它的响应速度非常快。
我一直在想象使用一个背景面板,一个用于填写表格的面板, 并为每对标签和文本字段创建面板以正确创建空间并将它们堆叠(或嵌套)在另一个之上。我们的老师刚刚告诉我们剪掉图像,她只是想我们是否知道如何从头开始设计一些东西。那并将输入保存到文本文件中。
但是,我似乎无法理解增加边框内的组件大小以模仿文本字段之间的间隙的概念,例如组件之间的某种填充?使用 setSize 不起作用,到目前为止,我的搜索只导致调整边框大小,或者我仍然没有输入正确的可搜索词?
另外,我一直在寻找另一种方式,我认为这个项目也可以使用 GridBaglayout。但是很多人说 GridBagLayout 太复杂了。你认为怎样做会更容易?
【问题讨论】:
-
仅基于意见,但我更喜欢
GridBagLayout。使用其Insets管理差距。 -
嗯,我看到插图是在一个对象上制作的。因此,如果一个组件不应该遵循已经声明的内容,这是否意味着我需要创建另一个组件?例如,下一步按钮似乎比其他填充有更远的距离。这意味着这个新的 inset 对象必须适应另一个的变化,或者 API 中有这样的东西来处理这种情况?
-
@inNeedOfHelp 附带说明:检查docs.oracle.com/javase/tutorial/uiswing/layout/visual.html 以获得不同基本布局管理器的基本可视化。另请注意,您可以将面板放置在其他面板中,并且每个面板都有一个布局管理器,这可能与其他面板不同。
标签: java swing layout-manager