更改 JTextField 边框的颜色而不更改其其他属性?

Change color of a JTextField border without changing it's other properties?

我正在使用涉及表单的 Swing 编写程序。提交表单时,我有一个验证它的函数,任何无效字段都应该以红色突出显示以进行更正,然后在有效后更改回默认边框。

目前,我正在使用以下方法获取默认的 JTextField 边框。

private Border defaultBorder = new JTextField().getBorder();

有没有办法在不创建不必要的对象的情况下做到这一点?

更重要的是,如何在不影响其其他属性的情况下更改边框的颜色?

我会将文本字段添加到面板并设置面板的边框。

这样一来,我们可以让文本字段的边框保持不变,它仍将具有适合该 PLAF 和情况(聚焦等)的边框。