从JTextField中删除添加的边框并使其恢复正常

时间:2014-09-02 15:12:05

标签: java swing user-interface border jtextfield

请查看以下代码

Border border = BorderFactory.createLineBorder(Color.RED, 1);
introducerFeesTxt.setBorder(border);

我使用此代码为JTextField创建了一个行边框。但是现在我需要删除它并替换它的普通视图。以下是我的尝试。

introducerFeesTxt.setBorder(BorderFactory.createLineBorder(Color.BLACK, 1));

上面的代码再次创建了一个与其他普通JTextField不相似的边框。以下是截图。

enter image description here

你可以清楚地看到"普通"之间的区别。 JTextField和添加了边框的JTextField。如何将其重置为" normal" ?

2 个答案:

答案 0 :(得分:3)

您可以在更改之前将原始边框保留在变量中,然后使用此边框将其设置回原始状态:

Border originalBorder;
...
JTextField textField = new JTextField(20);
originalBorder = textField.getBorder();
// here you can safely change text field's border

当然,这个originalBorder变量的范围应该足够大,以便在需要时使用它(例如:类成员)。

注意:请注意,此方法独立于您的应用使用的PLAF

答案 1 :(得分:2)

你应该使用L& F(外观和感觉)的原始边框。

Border border = BorderFactory.createLineBorder(Color.RED, 1);
introducerFeesTxt.setBorder(border);
// some operation

introducerFeesTxt.setBorder(UIManager.getBorder("TextField.border"));