JavaFXطريقة إضافة التأثير Fill Transition
المثال التالي يعلمك كيف تضيف التأثير Fill Transition لأي شيء تنوي وضعه في النافذة.
فعلياً, قمنا بجعل لون النص يتغير من اللون الأزرق إلى اللون الأحمر كل ثانيتين, ثم جعلنا اللون يرجع من اللون الأزرق إلى الأحمر لأننا عكسنا التأثير.
مثال
import javafx.animation.FillTransition; import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.layout.StackPane; import javafx.scene.paint.Color; import javafx.scene.text.Font; import javafx.scene.text.Text; import javafx.stage.Stage; import javafx.util.Duration; public class Main extends Application { public void start(Stage stage) { // يمثل النص الذي نريد إضافته في النافذة Text هنا قمنا بإنشاء كائن من الكلاس Text text = new Text("HARMASH.COM"); // بالإضافة إلى اللون الذي سيحيط به text هنا قمنا بتحديد نوع و حجم خط الكائن text.setFont(new Font("Tahoma", 40)); text.setStroke(Color.GRAY); // و الذي سيتيح لنا إضافة تأثير تغيّر اللون على أي شيء نربطه به FillTransition هنا قمنا بإنشاء كائن من الكلاس FillTransition fillTransition = new FillTransition(); // عندما يتم تشغيله fillTransition هنا قمنا بتحديد المدة التي سيتنفذ خلالها التأثير الذي يمثل الكائن fillTransition.setDuration(Duration.seconds(1.5)); // text سيتم تطبيقه على الكائن fillTransition هنا حددنا أن التأثير الذي سنحصل عليه عند تشغيل الكائن fillTransition.setShape(text); // عندما يتم تشغيله fillTransition هنا حددنا اللون الأساسي الذي سيوضع للشيء الذي نربطه بالكائن fillTransition.setFromValue(Color.CYAN); // عندما يتوقف عن التشغيل fillTransition هنا حددنا اللون الجديد الذي سيوضع للشيء الذي نربطه بالكائن fillTransition.setToValue(Color.CORAL); // هنا وضعنا 1- للإشارة إلى أننا لا نريد أن يتم إيقاف التأثير fillTransition.setCycleCount(-1); // كلما تم تشغيله fillTransition هنا قلنا أننا نريد أن يتم إرجاع التأثير الذي يفعله الكائن fillTransition.setAutoReverse(true); // fillTransition هنا قمنا بتشغيل التأثير الذي يمثله الكائن fillTransition.play(); // في النافذة Root Node لأننا ننوي جعله الـ StackPane هنا قمنا بإنشاء كائن من الكلاس StackPane root = new StackPane(); // root في الكائن text هنا قمنا بإضافة الكائن root.getChildren().addAll(text); // فيها و تحديد حجمها Node كأول root هنا قمنا بإنشاء محتوى النافذة مع تعيين الكائن Scene scene = new Scene(root, 400, 250); // هنا وضعنا عنوان للنافذة stage.setTitle("Fill Transition Example"); // أي وضعنا محتوى النافذة الذي قمنا بإنشائه للنافذة .stage في كائن الـ scene هنا وضعنا كائن الـ stage.setScene(scene); // هنا قمنا بإظهار النافذة stage.show(); } // هنا قمنا بتشغيل التطبيق public static void main(String[] args) { launch(args); } }
ستظهر لك النافذة التالية عند التشغيل.