【发布时间】:2013-03-07 14:46:01
【问题描述】:
感谢所有在 JTextField 问题上帮助我的人。通过使用 BorderLayout.PAGE_START,我成功地将 JTextField 添加到了带有边框布局的框架中。 但现在我无法编辑 JTextField 的宽度。只有高度在变化。 请看下划线。[这改变了JTextField的高度,但宽度没有改变]。
边框布局是否将所有组件拉伸到最大宽度?
【问题讨论】:
-
大小确实由
LayoutManager决定。下次推荐。发布实际代码 iso 代码图像。 -
您是如何将布局添加到框架的容器中的?你甚至使用它吗?您应该将项目添加到其中而不是直接添加框架,如下所示:
frame.getContentPane().add(jtf, BorderLayout.PAGE_START);。无论如何,请发布更多代码。 -
@Rob 我已经多次看到
getContentPane ()的使用,就像在您的示例中一样。但是为什么有些人会这样做而不是直接将组件添加到框架中呢?有区别吗?有优势吗?有缺点吗? -
@Rob 没关系...
-
@SoboLAN 显式添加到 contentPane 是一个旧习惯,在 jFrame.add 方法被委托给 contentpane 之前。有些人(不是我,但这是个人喜好)即使在今天也更喜欢这样做以保持一致性:只有少数(最常用的)方法是委托的,其他方法则不是。因此,如果您需要同时使用两者,代码可能看起来很混乱。
标签: java swing jtextfield border-layout preferredsize