簡體   English   中英

驗證JGoodies綁定中的緩沖值

[英]Validating a buffered value in JGoodies Binding

我使用代碼:

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()方法中,您可以顯示彈出窗口/更改背景顏色或不顯示背景顏色。

希望能有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM