繁体   English   中英

在 Swing 上更改 JTextField 高度

[英]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);

网格布局将拉伸组件并为其所有组件提供相同的大小。 为了使每个组件的“默认”的大小,你可以使用BoxLayoutBoxLayout.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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM