1

感谢所有在 JTextField 问题上帮助我的人。通过使用 BorderLayout.PAGE_START,我成功地将 JTextField 添加到了带有边框布局的框架中。但现在我无法编辑 JTextField 的宽度。只有高度在变化。请看一下下划线。[这会改变 JTextField 的高度,但宽度不会改变]。

具有完全拉伸的 TextField 的 JFrame

边框布局是否将所有组件拉伸到最大宽度?

4

1 回答 1

3

不要这样使用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);
于 2013-03-07T15:09:13.737 回答