JavaFXطريقة عرض نص الـText
من منظور مختلف
المثال التالي يعلمك طريقة عرض نص الـ Text
من منظور مختلف.
معلومة: أسلوب عرض النص بهذا الشكل يسمى ( Perspective Effect ).
ملاحظة: المستطيل الأزرق الذي وضعناه خلف النص طبقنا عليه نفس المنظور بهدف إظهار التأثير بشكل أوضح فقط.
مثال
import javafx.application.Application; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.effect.PerspectiveTransform; import javafx.scene.paint.Color; import javafx.scene.shape.Rectangle; import javafx.scene.text.Font; import javafx.scene.text.FontWeight; import javafx.scene.text.Text; import javafx.stage.Stage; public class Main extends Application { public void start(Stage stage) { // يمثلان النص و المستطيل اللذين سنضيفهما في النافذة Rectangle و كائن من الكلاس Text هنا قمنا بإنشاء كائن من الكلاس Text text = new Text("HARMASH.COM"); Rectangle rectangle = new Rectangle(); // rectangle هنا قمنا بتحديد حجم الكائن rectangle.setWidth(280.0f); rectangle.setHeight(80.0f); // text هنا قمنا بتغيير نوع و حجم خط الكائن text.setFont(Font.font("Tahoma", FontWeight.BOLD, 40)); // rectangle و لون الكائن text هنا قمنا بتغيير لون خط الكائن text.setFill(Color.YELLOW); rectangle.setFill(Color.BLUE); // يمثل تأثير المنظور PerspectiveTransform هنا قمنا بإنشاء كائن من الكلاس PerspectiveTransform pt = new PerspectiveTransform(); // هنا قمنا بتحديد المنطقة التي ستتأثر بهذا المنظور // y و x فعلياً قمنا بتحديد مكان 4 نقاط و كل نقطة أعطيناها قيمة pt.setUlx(40.0f); pt.setUly(80.0f); pt.setUrx(350.0f); pt.setUry(110.0f); pt.setLrx(350.0f); pt.setLry(130.0f); pt.setLlx(40.0f); pt.setLly(160.0f); // للحصول على أداء أفضل فقط setCache() هنا قمنا باستدعاء الدالة text.setCache(true); rectangle.setCache(true); // rectangle و text على الكائنين pt هنا قمنا بتطبيق تأثير المنظور الذي يمثله الكائن text.setEffect(pt); rectangle.setEffect(pt); // في النافذة Root Node لأننا ننوي جعله الـ Group هنا قمنا بإنشاء كائن من الكلاس Group root = new Group(); // root في الكائن text هنا قمنا بإضافة الكائن root.getChildren().add(rectangle); 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); } }
ستظهر لك النافذة التالية عند التشغيل.
الدالة setCache()
نستدعيها فقط من أجل الحصول على أداء أفضل.