مقدمة
في JavaFX يمكنك وضع رابط ( Link ) في النافذة و عرض محتوى هذا الرابط بكل سهولة بالإعتماد على محرك الويب (JavaFX Web Engine).
لوضع رابط في النافذة و عرض محتوى هذا الرابط عند النقر عليه نحتاج إلى التعامل مع الكلاسات التالية: Hyperlink
- WebView
- WebEngine
.
الكلاس Hyperlink
يستخدم لإضافة Button
عادي في واجهة المستخدم يشبه الرابط الذي نجده في أي موقع إلكتروني من حيث الشكل.
فمثلاً عند إضافة Hyperlink
في النافذة فإننا نجده باللون الأزرق, و عند تمرير الفأرة فوقه يظهر خط تحته, و عند إبعاد الفأرة عنه يختفي الخط من جديد, و عند النقر عليه يصبح لونه أسود. طبعاً التصميم الإفتراضي للـ Hyperlink
يمكن تعديله بسهولة في JavaFX و إظهاره بالشكل الذي نريده.
إذا نظرنا لطريقة بناء الكلاس Hyperlink
سنجد أنه يرث من الكلاس ButtonBase
مثل الكلاس Button
.
public class Hyperlink extends ButtonBase
الكلاس WebView
يستخدم لتحديد المكان الذي سيتم فيه عرض محتوى صفحة الويب في واجهة المستخدم.
إذاً نستخدم هذا الكلاس فقط لحجز مساحة في النافذة بهدف عرض محتوى صفحة ويب بداخلها.
الكلاس WebEngine
يستخدم لرسم صفحة الويب بداخل الـ WebView
الذي نضعه واجهة المستخدم و يفعل كل المهام التي يفعلها المتصفح العادي. كما أنه لا داعي للقلق في حال كان حجم الصفحة كبير لأنه يضيف شريط تمرير (Scroll Bar) بشكل تلقائي عند الحاجة. كما أنه يتيح لك التحكم بطريقة ظهور شريط التمرير.
مصطلحات تقنية حول Hyperlink Status
Hyperlink Status تعني حالات الـ Hyperlink
و يقصد منها المطلحات التي تطلق على الرابط عندما يتفاعل المستخدم معه.
هناك ثلاث حالات للـ Hyperlink
كما في الصورة التالية.
- Unvisited Link: تعني أن الرابط لم يتم النقر عليه بعد. و هنا نلاحظ أنه إفتراضياً يتم تلوينه بالأزرق.
- Visited Link: تعني أن الرابط قد تم النقر عليه سابقاً. و هنا نلاحظ أنه إفتراضياً يتم تلوينه بالأسود.
- Link Is Clicked: تعني أن الرابط قد تم النقر عليه و لم يجري المستخدم أي تفاعل آخر بعدها مع باقي الأشياء الموجودة في النافذة. و هنا نلاحظ أنه إفتراضياً يتم تلوينه بالأسود لأنه قد تم زيارته و يوجد مربع أزرق حوله للإشارة إلى أن المستخدم لا يزال يقف عنده.
ملاحظة
في هذا الدرس سنقوم بالتركيز على طريقة التعامل مع الكلاس Hyperlink
و سنتطرق إلى ما نحتاجه فقط من الكلاس WebView
و الكلاس WebEngine
.