【发布时间】:2009-04-07 17:33:32
【问题描述】:
这是一个非常具体的编码问题:
我最近被要求在工作中维护一些老式的 Java Swing GUI 代码并遇到了这个问题:
我已将我自己的 InputVerifier 子类(称为 MyFilenameVerifier)附加到 JTextField(但它也可以是用于这些目的的任何 JComponent)。我重写了 verify() 方法,使其调用 super.verify(input)(其中输入是 verify() 的 JComponent 参数)。如果 super.verify(input) 返回错误,我会这样做:
input.setBorder(BorderFactory.createLineBorder(Color.RED));
这是这个应用程序 UI 中使用的惯例,早在我之前就开始了,所以我没有太多选择,只能使用其他方式来吸引用户的注意力(希望我这样做了)。这就是它的工作方式。
问题是,一旦用户返回并在文本字段中输入有效内容,我需要一种方法将其设置回默认边框(而不是仅仅将其设置为 Color.GRAY 或其他颜色,这是一种不同的颜色从其原始边界)。我需要一种方式来表达“移除多余的装饰并恢复正常”,或者只是将边框设置为默认值。
【问题讨论】:
标签: java user-interface validation swing