JavaFX طريقة التشييك على النص المدخل في PasswordField

المثال التالي يعلمك طريقة التشييك على النص الذي يتم إدخاله في PasswordField.


مثال

Main.java
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.control.PasswordField;
import javafx.scene.input.KeyEvent;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
 
public class Main extends Application {
 
    @Override
    public void start(Stage stage) {

        // هنا قمنا بإنشاء جميع الأشياء التي سنضيفها في النافذة
        Label label = new Label("Password");
        PasswordField passwordField = new PasswordField();
        Label statusLabel = new Label();
 
        // هنا قمنا بتحديد مكان ظهور الأشياء التي سنضيفها في النافذة
        label.setTranslateX(90);
        label.setTranslateY(103);
        passwordField.setTranslateX(160);
        passwordField.setTranslateY(100);
        statusLabel.setTranslateX(160);
        statusLabel.setTranslateY(140);
 
        // في النافذة Root Node لأننا ننوي جعله الـ Group هنا قمنا بإنشاء كائن من الكلاس
        Group root = new Group();
 
        // root هنا قمنا بإضافة جميع الأشياء في الكائن
        root.getChildren().add(label);
        root.getChildren().add(passwordField);
        root.getChildren().add(statusLabel);
 
        // فيها و تحديد حجمها Node كأول root هنا قمنا بإنشاء محتوى النافذة مع تعيين الكائن
        Scene scene = new Scene(root, 400, 250);
 
        // هنا وضعنا عنوان للنافذة
        stage.setTitle("JavaFX PasswordField");
 
        // أي وضعنا محتوى النافذة الذي قمنا بإنشائه للنافذة .stage في كائن الـ scene هنا وضعنا كائن الـ
        stage.setScene(scene);
 
        // هنا قمنا بإظهار النافذة
        stage.show();
 
        // passwordField هنا قمنا بتحديد ماذا سيحدث كلما تم إدخال أو مسح حرف في الـ
        passwordField.setOnKeyTyped((KeyEvent e) -> {
            // statusLabel يساوي 0 سيتم إزالة أي نص موضوع في الـ passwordField إذا كان عدد أحرف الـ
            if( passwordField.getText().length() == 0 ) {
                statusLabel.setText("");
            }
            // مع تلوينه بالأحمر statusLabel أصغر من 8 سيتم تبديل نص الـ passwordField إذا كان عدد أحرف الـ
            else if( passwordField.getText().length() < 8 ) {
                statusLabel.setTextFill(Color.RED);
                statusLabel.setText("Weak Password!");
            }
            // مع تلوينه بالأخضر statusLabel أكبر من 8 سيتم تبديل نص الـ passwordField إذا كان عدد أحرف الـ
            else {
                statusLabel.setTextFill(Color.GREEN);
                statusLabel.setText("Strong Password!");
            }
        });

    }
 
    // هنا قمنا بتشغيل التطبيق
    public static void main(String[] args) {
        launch(args);
    }
 
}
		

ستظهر لك النافذة التالية عند التشغيل.

طريقة التشييك على النص الذي يتم إدخاله في الـ PasswordField في javafx

الدورات

أدوات مساعدة

أقسام الموقع

دورات
مقالات كتب مشاريع أسئلة