JavaFX طريقة إضافة تأثير الإنعكاس لنص الـText

المثال التالي يعلمك طريقة إضافة تأثير الإنعكاس لنص الـ Text.
معلومة: أسلوب عكس صورة النص بهذا الشكل يسمى ( Reflection Effect ).


مثال

Main.java
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.effect.Reflection;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import javafx.scene.text.FontWeight;
import javafx.scene.text.Text;
import javafx.stage.Stage;

public class Main extends Application {

    @Override
    public void start(Stage stage) {

        // يمثل النص الذي نريد إضافته في النافذة Text هنا قمنا بإنشاء كائن من الكلاس
        Text text = new Text("HARMASH.COM");

        // في النافذة text هنا قمنا بتحديد مكان ظهور الكائن
        text.setX(45);
        text.setY(120);

        // text هنا قمنا بتغيير نوع و حجم خط الكائن
        text.setFont(Font.font("Tahoma", FontWeight.BOLD, 40));
        
        // text هنا قمنا بتغيير لون خط الكائن
        text.setFill(Color.CADETBLUE);

		// لأننا سنستخدمه للحصول على تأثير الإنعكاس Reflection هنا قمنا بإنشاء كائن من الكلاس
        Reflection reflection = new Reflection();
        reflection.setFraction(0.7f);
        
        // text على الكائن dropShadow هنا قمنا بتطبيق تأثير الإنعكاس الذي يمثله الكائن
        text.setCache(true);
        text.setEffect(reflection);
        
        // في النافذة Root Node لأننا ننوي جعله الـ Group هنا قمنا بإنشاء كائن من الكلاس
        Group root = new Group();

        // root في الكائن text هنا قمنا بإضافة الكائن
        root.getChildren().add(text);

        // فيها و تحديد حجمها Node كأول root هنا قمنا بإنشاء محتوى النافذة مع تعيين الكائن
        Scene scene = new Scene(root, 400, 250);

        // هنا وضعنا عنوان للنافذة
        stage.setTitle("JavaFX Text");

        // أي وضعنا محتوى النافذة الذي قمنا بإنشائه للنافذة .stage في كائن الـ scene هنا وضعنا كائن الـ
        stage.setScene(scene);

        // هنا قمنا بإظهار النافذة
        stage.show();

    }

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

}
		

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

طريقة إضافة تأثير الإنعكاس لنص الـ Text في javafx


ملاحظة

الدالة setCache() نستدعيها فقط من أجل الحصول على أداء أفضل.

الدورات

أدوات مساعدة

أقسام الموقع

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