我试图将一些组件放在 JPanel 中,当我在 JPanel 的 GridBagLayout 的“自定义布局”选项中按“测试布局”时,一切正常,但是当我运行程序时,它看起来不同。它应该是这样的:相反,当我运行程序时,它看起来像这样:该程序的结构如下:所以有两个问题:密码字段大于电子邮件地址字段。我已经尝试将最小、最大和首选大小设置为 (14, 22) 到它们,但它不起作用。为什么按钮是分开的,我怎样才能让它们连接起来?(右边的按钮有 0 个左边的插图)
3 回答
米琪卡哇伊
TA贡献1998条经验 获得超6个赞
不要使用 setPreferredSize()。
每个 Swing 组件将根据组件的属性确定自己的大小。在许多情况下,这将基于组件的文本。
对于没有默认文本的文本字段,您应该创建如下组件:
//emailTextField = new javax.swing.JTextField();
//passwordField = new javax.swing.JPasswordField();
emailTextField = new javax.swing.JTextField(20);
passwordField = new javax.swing.JPasswordField(10);
因此组件可以确定其首选大小以显示 20/10 个字符。(它实际上调整自己的大小以显示“W”字符)。
此外,通常不需要设置组件的最小/最大大小,因为除非您填充单元格,否则 GridBagLayout 将遵循首选大小。
阿波罗的战车
TA贡献1862条经验 获得超6个赞
我不确定密码字段,但对于单独的按钮,您可以创建一个带有框布局的新面板。然后,您可以将按钮放在那里。之后,您可以将新面板放入主面板中。这在我当前的项目中有效。希望它也适用于你的。
添加回答
举报
0/150
提交
取消