[英]Change JTextField height on Swing
我正在尝试修复“amountField”文本字段的高度,但我不能。
我希望 amountField 的高度与其上方的 JComboBox 高度相同,这样看起来更好。
现在,与其他设计相比,JTextField 看起来非常高。
我已经尝试了我在这个论坛上读到的所有内容,但似乎没有任何效果。
我不知道它是否相关,但是整个 JPanel (WithdrawalScreen) 位于另一个带有 BorderLayout 的 JPanel 内。 这个面板是它的中心部分
谢谢
public class WithdrawalScreen extends JPanel {
Public JPanel init() {
this.setLayout(new GridLayout(0,1));
account = new JLabel("account");
accountSelect = new JComboBox(labels);
amount = new JLabel("amount");
amountField = new JTextField("");
submit = new JButton("SUBMIT");
this.add(account);
this.add(accountSelect);
this.add(amount);
this.add(amountField);
this.add(submit);
return this;
}
}
尝试创建 5 行 1 列的网格布局。 我认为高度搞砸了,因为您没有正确设置构造函数参数。
new GridLayout(5,1);
网格布局将拉伸组件并为其所有组件提供相同的大小。 为了使每个组件的“默认”的大小,你可以使用BoxLayout
与BoxLayout.Y_AXIS
在其构造函数的参数。 另一种方法是使用具有其他布局的虚拟嵌套 JPanel。 让我们说 FlowLayout。
JTextField textField = new JTextField(10);
JPanel nestedPanel = new JPanel(new FlowLayout());
nestedPanel.add(textField);
gridLayoutPanel.add(nestedPanel);
JTextField
不会被拉伸。 nestedPanel
将是。 自己做一些实验,你会找到适合你需求的方法。
一个可以帮助您的链接: 布局管理器的视觉指南。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.