请查看以下代码
Border border = BorderFactory.createLineBorder(Color.RED, 1);
introducerFeesTxt.setBorder(border);
我使用此代码为JTextField
创建了一个行边框。但是现在我需要删除它并替换它的普通视图。以下是我的尝试。
introducerFeesTxt.setBorder(BorderFactory.createLineBorder(Color.BLACK, 1));
上面的代码再次创建了一个与其他普通JTextField不相似的边框。以下是截图。
你可以清楚地看到"普通"之间的区别。 JTextField
和添加了边框的JTextField。如何将其重置为" normal" ?
答案 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"));