2014-03-24 58 views
0

我使用的代碼:驗證在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

您可以使用jgoodies驗證器接口來驗證該文本字段上的任何輸入 編寫您自己的驗證器類,它實現以下接口。例如,類名是TextFieldValidator。

Validator<T> 

先決條件是您將文本字段綁定到PresentationModel。

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

setComponent將設置在TextFieldValidator類和可以顯示彈出窗口/改變背景顏色或什麼不可以的validate()方法JTextField的參考。

希望有所幫助。