我正在使用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);