日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

javafx 调用java_Java验证(javafx)

發(fā)布時間:2023/12/3 java 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 javafx 调用java_Java验证(javafx) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

javafx 調(diào)用java

驗(yàn)證是核心javafx框架所缺少的一件事。 為了彌補(bǔ)這一空白, controlsfx中已經(jīng)存在一個第三方驗(yàn)證庫 。 但是,我有一個問題:它不是在考慮FXML的情況下創(chuàng)建的。 這并不是說它不是一個很好的庫,只是錯過了這個細(xì)節(jié),對我來說這是不可行的。 因此,我決定創(chuàng)建自己的驗(yàn)證框架: FXValidation 。

這個怎么運(yùn)作

為了向您展示FXValidation的工作方式,讓我們從頭開始,向您展示一個使用該庫時FXML文件的外觀示例。 這是一個登錄屏幕的簡單示例,其中用戶需要輸入用戶名和密碼:

<Label><text>User Name:</text> </Label> <TextField fx:id="userName" id="userName"></TextField> <Label><text>Password:</text> </Label> <PasswordField fx:id="password" id="password"></PasswordField><Button text="Submit" onAction="#submitPressed"></Button><fx:define><RequiredField fx:id="requiredField1" ><srcControl><fx:reference source="userName"></fx:reference></srcControl></RequiredField><RequiredField fx:id="requiredField2" ><srcControl><fx:reference source="password"></fx:reference></srcControl></RequiredField> </fx:define><ErrorLabel message="Please enter your username"><validator><fx:reference source="requiredField1"></fx:reference></validator> </ErrorLabel> <ErrorLabel message="Please enter your password"><validator><fx:reference source="requiredField2"></fx:reference></validator> </ErrorLabel>

在FXML代碼段的開頭,我定義了用于輸入登錄詳細(xì)信息的文本字段和密碼字段。 除此之外,還有一個提交按鈕,以便用戶可以將登錄信息發(fā)送到系統(tǒng)。 之后是有趣的部分。 首先,我們定義幾個RequiredField類型的驗(yàn)證器。 該驗(yàn)證器檢查所輸入的內(nèi)容是否為空,如果是,則將其存儲在標(biāo)志中以確認(rèn)錯誤。 FXValidation框架中還內(nèi)置了其他類型的驗(yàn)證器,但我們將稍作介紹 。 最后,我們定義了幾個ErrorLabel。 這是實(shí)現(xiàn)IValidationDisplay的節(jié)點(diǎn),任何實(shí)現(xiàn)此接口的類都是一個類,其目的是在驗(yàn)證過程中出現(xiàn)錯誤時向用戶顯示信息。 當(dāng)前,框架中只有此類之一:ErrorLabel。 最后,我們需要在用戶單擊“提交”按鈕時調(diào)用驗(yàn)證,這是在控制器中的Submit方法上完成的:

public void submitPressed(ActionEvent actionEvent) {requiredField1.eval();requiredField2.eval(); }

這將觸發(fā)對我們定義的驗(yàn)證器的驗(yàn)證。 如果有錯誤,ErrorLabels將顯示在其中定義的錯誤消息。 驗(yàn)證器還有另外一件事:驗(yàn)證程序生效后,它們將css樣式類“錯誤”添加到每個有錯誤的控件中。 這使程序員只要在控件上附加了錯誤類,就可以使用css改變控件的樣式。 程序員可以通過檢查驗(yàn)證器中的hasErrors屬性來檢查驗(yàn)證過程中的錯誤。

這是我們的示例:

細(xì)節(jié)

從上面顯示的內(nèi)容可以看出,基本上涉及兩種類型的類:

  • 驗(yàn)證器:負(fù)責(zé)檢查目標(biāo)控件( srcControl )是否符合驗(yàn)證規(guī)則。 如果沒有,它將“錯誤”樣式類附加到目標(biāo)控件,將其hasErrors屬性設(shè)置為true。 所有驗(yàn)證器都從ValidatorBase擴(kuò)展。
  • 錯誤顯示信息:負(fù)責(zé)通知用戶驗(yàn)證發(fā)生了什么問題,可能是必填字段,字段內(nèi)容沒有必要的字符數(shù),等等。所有這些類都實(shí)現(xiàn)IValidationDisplay

庫中目前有3個驗(yàn)證器,并且只有一個錯誤“顯示器”即ErrorLabel。 驗(yàn)證器如下:

  • RequiredField:檢查目標(biāo)控件( srcControl )是否具有內(nèi)容,如果沒有,則給出錯誤。
  • CardinalityValidator:檢查目標(biāo)控件( srcControl )是否至少具有最小字符數(shù)和最大最大字符數(shù)。
  • RegexValidator:根據(jù)給定的正則表達(dá)式檢查目標(biāo)控件( srcControl )的內(nèi)容

就是這樣。

翻譯自: https://www.javacodegeeks.com/2014/08/validation-in-java-javafx.html

javafx 調(diào)用java

總結(jié)

以上是生活随笔為你收集整理的javafx 调用java_Java验证(javafx)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。