验证JGoodies Binding中的缓冲值

时间:2014-03-24 17:57:30

标签: java swing binding jgoodies

我使用代码:

JTextField textField = BasicComponentFactory.createFormattedTextField(valueModel, numberFormatter);

这使得JTextfield工作得非常好,当我提交绑定到表示模型的触发器时,它会自动更改512.1!5到512.1而没有错误。这很顺利它的工作原理但我想弹出一个JDialog说嘿,你输入512.1!5包含一个无效值,以便用户确切知道发生了什么。我找不到JGoodies Binding中的钩子来设置它。我尝试在我的PresentatonModel的getBufferedComponentModel()上添加一个propertyChangeListener,但它只报告已有的值!性格缺失。因此我对如何检测格式错误感到迷茫,是否有一些JGoodies bean监听器可以让我知道何时提醒用户?

1 个答案:

答案 0 :(得分:1)

您可以使用jgoodies验证器界面验证该文本字段上的任何输入 编写自己的验证器类,实现以下接口。例如,类名是TextFieldValidator。

Validator<T>

前提是您将文本字段绑定到PresentationModel。

TextFieldValidator<T> validator = (TextFieldValidator<T>) getPresentationModel().getValidator();
        validator.setComponent(getYourTextField());

setComponent将在TextFieldValidator类中设置JTextField引用,在validate()方法中,您可以显示弹出窗口/更改背景颜色或不显示背景颜色。

希望有所帮助。