我想知道为什么我的元素JTextField在设置新边框后有更改高度:
packagesAddField.setBorder(BorderFactory.createLineBorder(Color.RED));
在此代码之后我的JTextField改变了一个高度(从上部大约1px,从页脚大约1px)。有可能,当我设置一些边框时,他可以改变组件的外观吗?
答案 0 :(得分:2)
总之,不要。 setBorder()
API建议您将边框添加到封闭容器中:
虽然从技术上讲,您可以在任何继承自
JComponent
的对象上设置边框,但许多标准Swing组件的外观和实现并不能很好地与用户设置的边框配合使用。通常,如果要在JPanel
或JLabel
以外的标准Swing组件上设置边框,我们建议您将组件放在JPanel
中并在JPanel
上设置边框{1}}。
或者,考虑InputVerifier
。