JavaFX UI控件教程(二十四)之Password Field
翻譯自??Password Field
在本章中,您將了解另一種類型的文本控件,即密碼字段。
本PasswordField類實現一個專門的文本字段。通過顯示回顯字符串來隱藏用戶鍵入的字符。圖23-1顯示了一個密碼字段,其中包含提示消息。
圖23-1帶有提示消息的密碼字段
?
創建密碼字段
入門級任務是使用示例23-1中的代碼創建密碼字段。
示例23-1創建密碼字段
PasswordField passwordField = new PasswordField(); passwordField.setPromptText("Your password");對于您的用戶界面,您可以在密碼字段中附帶提示消息,也可以添加通知標簽。與TextField類一樣,PasswordField該類提供了setText在啟動應用程序時在控件中呈現文本字符串的方法。但是,setText方法中指定的字符串將被密碼字段中的echo字符隱藏。默認情況下,echo字符是星號。圖23-2顯示了包含預定義文本的密碼字段。
圖23-2帶有設置文本的密碼字段
可以通過該getText方法獲得在密碼字段中鍵入的值。您可以在應用程序中處理此值,并根據需要設置身份驗證邏輯。
?
評估密碼
花點時間在示例23-2中查看可以在用戶界面中應用的密碼字段的實現。
例23-2實現認證邏輯
final Label message = new Label("");VBox vb = new VBox(); vb.setPadding(new Insets(10, 0, 0, 10)); vb.setSpacing(10); HBox hb = new HBox(); hb.setSpacing(10); hb.setAlignment(Pos.CENTER_LEFT);Label label = new Label("Password"); final PasswordField pb = new PasswordField();pb.setOnAction(new EventHandler<ActionEvent>() {@Override public void handle(ActionEvent e) {if (!pb.getText().equals("T2f$Ay!")) {message.setText("Your password is incorrect!");message.setTextFill(Color.rgb(210, 39, 30));} else {message.setText("Your password has been confirmed");message.setTextFill(Color.rgb(21, 117, 84));}pb.clear();} });hb.getChildren().addAll(label, pb); vb.getChildren().addAll(hb, message);使用該setOnAction方法定義密碼字段的認證邏輯。提交密碼時會調用此方法,并創建一個新EventHandler對象來處理鍵入的值。如果鍵入的值與所需的密碼不同,則相應的消息將顯示為紅色,如圖23-3所示。
圖23-3密碼不正確
如果鍵入的值滿足預定義條件,則會顯示確認消息,如圖23-4所示。
圖23-4密碼正確
出于安全原因,最好在鍵入值后清除密碼字段。在例23-2中,在執行認證之后為passwordField設置空字符串。
?
相關的API文檔?
-
PasswordField
-
TextInputControl
總結
以上是生活随笔為你收集整理的JavaFX UI控件教程(二十四)之Password Field的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小米申请注册“米运达”商标:分类为运输工
- 下一篇: JavaFX UI控件教程(二十二)之T