增加 JTextField 组件的高度



我正在使用Java Swing创建一个计算器。但是我无法增加 JTextField 组件的高度。请在下面找到代码:

JTextField textField = new JTextField(100);
JPanel mainPanel = new JPanel(new BorderLayout());
mainPanel.add(textField, BorderLayout.PAGE_START);

文本字段显示非常小。如何增加文本框的高度以使其更突出?

谢谢

我认为更好的是让文本字段根据使用的字体确定高度。

String str = "21564";
JTextField textField = new JTextField(str, 100);
Font bigFont = textField.getFont().deriveFont(Font.PLAIN, 150f);
textField.setFont(bigFont);
mainPanel.add(textField);

查看 Swing 教程

有很多方法可以实现它。首先,是使用适当的布局管理器。始终建议不要弄乱一堆硬编码值,让 API 执行它们应该做的事情。但是,如果没有一个简短的独立示例,就很难猜测您知道和使用的内容以及您不知道的内容。

所以我想另一种方法是为组件(或其父容器(创建一个空边框。但是,在JTextField中,您可能希望保留默认边框,因此您必须使用复合边框:

JTextField field = new JTextField(20);
Border outsideBorder = field.getBorder();
Border insideBorder = BorderFactory.createEmptyBorder(10, 0, 10, 0); //insets
field.setBorder(BorderFactory.createCompoundBorder(outsideBorder, insideBorder));
frame.add(field);

最新更新