感谢所有在 JTextField 问题上帮助我的人。通过使用 BorderLayout.PAGE_START,我成功地将 JTextField 添加到了带有边框布局的框架中。但现在我无法编辑 JTextField 的宽度。只有高度在变化。请看一下下划线。[这会改变 JTextField 的高度,但宽度不会改变]。
边框布局是否将所有组件拉伸到最大宽度?
感谢所有在 JTextField 问题上帮助我的人。通过使用 BorderLayout.PAGE_START,我成功地将 JTextField 添加到了带有边框布局的框架中。但现在我无法编辑 JTextField 的宽度。只有高度在变化。请看一下下划线。[这会改变 JTextField 的高度,但宽度不会改变]。
边框布局是否将所有组件拉伸到最大宽度?
不要这样使用setPreferredSize()
,因为你不知道字体会有多大。改为这样做。
编辑:我忘记了BorderLayout.PAGE_START
,所以只使用FlowLayout
新的JPanel()
;它使用文本字段的内置首选大小。
JTextField textField = new JTextField(10);
JPanel panel = new JPanel();
panel.add(textField);
frame.add(panel, BorderLayout.PAGE_START);
...
frame.pack();
frame.setVisible(true);