我使用代码:

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


这将导致JTextfield很好地工作,当我提交绑定到表示模型的触发器时,它将自动将512.1!5更改为512.1,而没有错误。这样的运行非常顺畅,但我想弹出一个JDialog,说:嘿,您输入了512.1!5,其中包含无效值,以便用户确切知道发生了什么。我在JGoodies Binding中找不到钩子来进行设置。我尝试在PresentatonModel的getBufferedComponentModel()上添加一个propertyChangeListener,但是它只会报告已经具有!的值。字符丢失。因此,我不知道如何检测格式错误,是否有一些JGoodies bean侦听器可以让我知道何时向用户发出警报?

最佳答案

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

Validator<T>


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

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


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

希望能有所帮助。

关于java - 验证JGoodies绑定(bind)中的缓冲值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22617039/

10-10 11:59