في الدرس السابق تكلمنا عن بنية تطبيقات javafx والان نتكلم عن بنية مكتبة JavaFX .
المكتبات الموجودة في JavaFX
JavaFX توفر الكثير من الكلاسات و الإنترفيسات التي يمكن استخدامها في بناء واجهة التطبيقات.
سنضع فكرة عامة حول أهم الكتبات المتوفرة فيها.
المكتبة javafx.application
.
تحتوي هذه المكتبة على كلاسات تستخدم للتعامل مع دورة حياة التطبيقات.
المكتبة javafx.animation
.
تحتوي هذه المكتبة على كلاسات تستخدم لإضافة مؤثرات على الأشياء التي يمكن إضافتها في النافذة.
المكتبة javafx.css
.
تحتوي هذه المكتبة على كلاسات تستخدم لتحسين تصميم واجهة المستخدم بكود CSS.
المكتبة javafx.event
.
تحتوي هذه المكتبة على كلاسات و إنترفيسات تستخدم للتعامل مع أي تفاعل قد يجريه المستخدم عند استخدام التطبيق.
المكتبة javafx.geometry
.
تحتوي هذه المكتبة على كلاسات تستخدم لإضافة أشكال هندسية ثنائية الأبعاد 2D و إجراء تعديلات عليها.
المكتبة javafx.stage
.
تحتوي هذه المكتبة على كلاسات تستخدم لإضافة نوافذ عادية أو نوافذ لها إستعمالات مختلفة.
المكتبة javafx.scene
.
تحتوي هذه المكتبة على كلاسات و إنترفيسات تستخدم لتحديد نوع المحتوى الذي يمكن إضافته في النافذة و لإضافة محتوى جديد فيها.
هذه المكتبة تحتوي بداخلها أيضاً على المكتبات التالية:
canvas
- chart
- control
- effect
- image
- input
- layout
- media
- paint
- shape
- text
- transform
- web
.
المكتبة javafx.fxml
.
تحتوي هذه المكتبة على كلاسات و إنترفيسات تستخدم لربط ملفات الـ Java بملفات FXML.
المكتبة javafx.embed
.
تحتوي هذه المكتبة على كلاسات تستخدم لجعل تطبيقات JavaFX قادرة على إستخدام أي شيء موجود في المكتبة Swing.
المكتبة javafx.print
.
تحتوي هذه المكتبة على كلاسات تستخدم للتعامل مع آلة الطباعة ( أي الـ Printer ) و بالتالي إصدار أوامر للطباعة بشكل مباشر من داخل التطبيق.
آلية عمل تطبيقات JavaFX
الصورة التالية توضح آلية عمل تطبيقات JavaFX.
ملاحظة: سنشرح فكرة كل شيء موضوع في هذه الصورة و سنبدأ من الأسفل إلى الأعلى.
Java Virtual Machine
الـ JVM هو البرنامج الذي يقوم بتشغيل البرامج المكتوبة بلغة Java.
JDK and Tools
الـ JDK and Tools هو المكتبات و الأدوات الموجودة في لغة Java.
JavaFX Graphics Engine
الـ JavaFX Graphics Engine عبارة عن البرامج التي قد تعمل لتولد لك صورة التطبيق على الشاشة.
الـ Prism مهمته عرض الأشكال الهندسية التي قد يتم إضافتها في التطبيق سواء كانت 2D أو 3D.
الـ Glass Windowing Toolkit مهمته عرض النوافذ بشكل يتوافق مع نظام التشغيل بالإضافة إلى إدارة الأحداث (Event Queues) و عداد الوقت (Timer).
الـ Media Engine مهمته تشغيل الفيديوهات و الملفات الصوتية التي قد يتم إضافتها في التطبيق.
الـ Web Engine مهمته عرض صفحات الويب التي قد يتم إضافتها في التطبيق.
Qunatum Toolkit
الـ Qunatum Toolkit عبارة عن برنامج يجعل جميع الـ Graphics Engine متاحة للإستخدام للتطبيقات المبنية بواسطة JavaFX.
Scene Graph
الـ Scene Graph عبارة عن مجموعة من الـ Nodes تم إضافتها بشكل هرمي حتى تكون محتوى النافذة.
JavaFX APIs
الـ JavaFX APIs عبارة عن كل المكتبات المتوفرة في JavaFX .
وفي الدرس التالي سوف نتلكم عن الكلاس javafx Label
الكلاس javafx Button , الكلاس javafx textfield