重置/删除 Swing 中的边框

2024-01-01

这是一个非常具体的编码问题:

最近,我被要求在工作中维护一些旧的 Java Swing GUI 代码,并遇到了这个问题:

我已将我自己的名为 MyFilenameVerifier 的 InputVerifier 子类附加到 JTextField(但它也可以是用于这些目的的任何 JComponent)。我已经重写了 verify() 方法,以便它调用super.verify(input)(其中输入是 verify() 的 JComponent 参数)。如果super.verify(input)返回错误,我这样做:

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

这是这个应用程序整个 UI 中使用的约定,它早在我之前就开始使用了,所以我没有太多选择,可以使用其他方式来吸引用户的注意力(希望我这样做)。这就是它的工作原理。

问题是,一旦用户返回并在文本字段中输入有效的内容,我需要一种方法将其设置回默认边框(而不是仅仅说将其设置为 Color.GRAY 或其他颜色,这与原始颜色不同边界)。换句话说,我需要一种方法来表示“删除多余的装饰并恢复正常”,或者只是将边框设置为默认值。


你就不能打电话吗input.getBorder() http://java.sun.com/javase/6/docs/api/javax/swing/JComponent.html#getBorder()并在将边框设置为红色之前将其缓存在某处?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

重置/删除 Swing 中的边框 的相关文章

随机推荐