为什么我的JTextField在设置新边框后发生了变化

时间:2014-07-20 12:03:12

标签: java swing border jtextfield

我想知道为什么我的元素JTextField在设置新边框后有更改高度:

  packagesAddField.setBorder(BorderFactory.createLineBorder(Color.RED));

在此代码之后我的JTextField改变了一个高度(从上部大约1px,从页脚大约1px)。有可能,当我设置一些边框时,他可以改变组件的外观吗?

1 个答案:

答案 0 :(得分:2)

总之,不要。 setBorder() API建议您将边框添加到封闭容器中:

  

虽然从技术上讲,您可以在任何继承自JComponent的对象上设置边框,但许多标准Swing组件的外观和实现并不能很好地与用户设置的边框配合使用。通常,如果要在JPanelJLabel以外的标准Swing组件上设置边框,我们建议您将组件放在JPanel中并在JPanel上设置边框{1}}。

或者,考虑InputVerifier