JavaFX الكلاس Hyperlink و الكلاس WebView
مقدمة الكلاس Hyperlink و الكلاس WebView
	في 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.
كونستركتورات الكلاس Hyperlink
	الجدول التالي يحتوي على كونستركتورات الكلاس Hyperlink.
| الكونستركتور مع تعريفه | |
|---|---|
| public Hyperlink()ينشئ كائن من الكلاسHyperlinkيمثل رابط فارغ. | |
| public Hyperlink(String text)ينشئ كائن من الكلاسHyperlinkيمثل رابط له نص محدد.مكان الباراميتر textنمرر النص الذي نريد وضعه له. | |
| public Hyperlink(String text, Node graphic)ينشئ كائن من الكلاسHyperlinkيمثل رابط له نص و أيقونة معاً.
 | |
دوال الكلاس Hyperlink
	الجدول التالي يحتوي على دوال الكلاس Hyperlink الأكثر إستخداماً.
| الدالة مع تعريفها | |
|---|---|
| public String getText()ترجع نص كائن الـHyperlinkالذي قام بإستدعائها كنص. | |
| public void setText(String text)تستخدم لتبديل نص كائن الـHyperlinkالذي قام بإستدعائها.مكان الباراميتر textنضع النص الجديد. | |
| public final void setTextFill(Paint value)تستخدم لتحديد لون نص كائن الـHyperlinkالذي قام بإستدعائها.مكان الباراميتر valueنضع كائن من إحدى الكلاسات التي ترث من الكلاسPaintو التي يمكن إستخدامها لتحديد درجة اللون. | |
| public final void setBackground(Background value)تستخدم لوضع لون أو صورة كخلفية لكائن الـHyperlinkالذي قام بإستدعائها.مكان الباراميتر valueنضع كائن من الكلاسBackgroundيشير إلى درجة اللون أو الصورة التي سيتم وضعها كخلفية. | |
| public final void setFont(Font newFont)تستخدم لتحديد حجم و نوع خط كائن الـHyperlinkالذي قام بإستدعائها.مكان الباراميتر newFontنضع كائن من الكلاسFontيمثل خصائص الخط الجديد. | |
| public final void setUnderline(boolean value)تستخدم لوضع خط تحت نص كائن الـHyperlinkالذي قام بإستدعائها.مكان الباراميتر valueنضع القيمةtrueلإظهار خط تحت النص. | |
| public final void setRotate(double degree)تستخدم لإدارة نص كائن الـHyperlinkالذي قام بإستدعائها.مكان الباراميتر degreeنضع رقم يمثل درجة الدوران. | |
| public final void setWrapText(boolean value)تستخدم لجعل نص كائن الـHyperlinkالذي قام بإستدعائها ينزل على سطر جديد في حال كان لا يسع في سطر واحد.مكان الباراميتر valueنضع القيمةtrueلجعل الأحرف تظهر على سطر جديد عند الحاجة. | |
| public final void setLineSpacing(double value)تستخدم لتحديد المسافة بين كل سطرين في نص كائن الـHyperlinkالذي قام باستدعائها.مكان الباراميتر valueنضع رقم يمثل المسافة بين كل سطرين بالـ Pixel. | |
| public final void setPadding(Insets value)تستخدم لإضافة هامش ( مسافة فارغة ) حول نص كائن الـHyperlinkالذي قام باستدعائها.مكان الباراميتر valueنضع كائن من الكلاس Insets يمثل حجم الهامش حول النص من كل الجهات. | |
| public final void setScaleX(double value)تستخدم لتمطيط حجم كائن الـHyperlinkالذي قام باستدعائها بشكل أفقي.مكان الباراميتر valueنضع رقم يمثل كم مرة سيتم مضاعفة حجمه أفقياً. | |
| public final void setScaleY(double value)تستخدم لتمطيط حجم كائن الـHyperlinkالذي قام باستدعائها بشكل عامودي.مكان الباراميتر valueنضع رقم يمثل كم مرة سيتم مضاعفة حجمه عامودياً. | |
| public final void setTranslateX(double value)تستخدم لتحديد مكان كائن الـHyperlinkالذي قام باستدعائها أفقياً.مكان الباراميتر valueنضع رقم يمثل كم Pixel سيتم إزاحته من اليسار إلى اليمين. | |
| public final void setTranslateY(double value)تستخدم لتحديد مكان كائن الـHyperlinkالذي قام باستدعائها عامودياً.مكان الباراميتر valueنضع رقم يمثل كم Pixel سيتم إزاحته من الأعلى إلى الأسفل. | |
| public void setPrefSize(double prefWidth, double prefHeight)تستخدم لتحديد حجم كائن الـHyperlinkالذي قام باستدعائها.
 | |
| public final void setContentDisplay(ContentDisplay value)تستخدم لتحديد مكان ظهور الأيقونة التي تم إضافتها لكائن الـHyperlinkالذي قام باستدعائها.مكان الباراميتر valueنضع إحدى ثوابت الكلاسContentDisplay:
 | |
| public final void setDisable(boolean value)تستخدم لجعل نص كائن الـHyperlinkالذي قام باستدعائها يبدو غير مفعّل, أي يصبح لونه باهتاً و غير قابل للنقر عليه.مكان الباراميتر valueنضع القيمةtrueلجعله غير مفعّل. | |
| public final void setStyle(String value)تستخدم لتعديل تصميم كائن الـHyperlinkالذي قام بإستدعائها.مكان الباراميتر valueيمكنك تمرير إسم و قيمة أي خاصية تريد تعديلها في كائن الـHyperlinkبأسلوب لغة CSS لإظهاره بالشكل الذي تريده. | |
JavaFX طريقة إنشاء Hyperlink و إضافته في النافذة
المثال التالي يعلمك طريقة إنشاء كائن من الكلاس Hyperlink و إضافته في النافذة.
مثال طريقة إنشاء كائن من الكلاس Hyperlink و إضافته في النافذة.
	    
        import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.Hyperlink;
import javafx.stage.Stage;
 
public class Main extends Application {
 
    @Override
    public void start(Stage stage) {
        // يمثل الرابط الذي نريد إضافته في النافذة Hyperlink هنا قمنا بإنشاء كائن من الكلاس
        Hyperlink hyperlink = new Hyperlink("harmash.com");
 
        // في النافذة hyperlink هنا قمنا بتحديد مكان ظهور الكائن
        hyperlink.setTranslateX(150);
        hyperlink.setTranslateY(110);
        
         // hyperlink هنا قمنا بتحديد حجم الكائن
        hyperlink.setPrefSize(100, 30);
 
        // في النافذة Root Node لأننا ننوي جعله الـ Group هنا قمنا بإنشاء كائن من الكلاس
        Group root = new Group();
 
        // root في الكائن hyperlink هنا قمنا بإضافة الكائن
        root.getChildren().add(hyperlink);
 
        // فيها و تحديد حجمها Node كأول root هنا قمنا بإنشاء محتوى النافذة مع تعيين الكائن
        Scene scene = new Scene(root, 400, 250);
 
        // هنا وضعنا عنوان للنافذة
        stage.setTitle("JavaFX Hyperlink");
 
        // أي وضعنا محتوى النافذة الذي قمنا بإنشائه للنافذة .stage في كائن الـ scene هنا وضعنا كائن الـ
        stage.setScene(scene);
 
        // هنا قمنا بإظهار النافذة
        stage.show();
    }
 
    // هنا قمنا بتشغيل التطبيق
    public static void main(String[] args) {
        launch(args);
    }
 
}
		
		•ستظهر لك النافذة التالية عند التشغيل.
JavaFX طريقة تغيير شكل الـHyperlink
المثال التالي يعلمك طريقة تغيير شكل الـ Hyperlink.
	ستتعلم طريقة إزالة الخط الذي يظهر تحته, لون الخط الإفتراضي, حجم الخط الإفتراضي, المربع الذي يظهر حوله عند النقر عليه, إضافة لون للخلفية إلخ..
مثال طريقة تغيير شكل الـHyperlink
	    
        import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.Hyperlink;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.Background;
import javafx.scene.layout.BackgroundFill;
import javafx.scene.layout.Border;
import javafx.scene.layout.CornerRadii;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import javafx.stage.Stage;
public class Main extends Application {
    @Override
    public void start(Stage stage) {
        // يمثل الرابط الذي نريد إضافته في النافذة Hyperlink هنا قمنا بإنشاء كائن من الكلاس
        Hyperlink hyperlink = new Hyperlink("HARMASH.COM");
        
		// hyperlink يمثل اللون الذي نريد وضعه كخلفية للكائن Background هنا قمنا بإنشاء كائن من الكلاس
        Background defaultBackground = new Background(new BackgroundFill(Color.CADETBLUE, new CornerRadii(5), Insets.EMPTY));
		// عند تمرير الفأرة فوقه hyperlink يمثل اللون الذي نريد وضعه كخلفية للكائن Background هنا قمنا بإنشاء كائن من الكلاس
        Background hoveredBackground = new Background(new BackgroundFill(Color.DARKCYAN, new CornerRadii(5), Insets.EMPTY));
        // في النافذة hyperlink هنا قمنا بتحديد مكان ظهور الكائن
        hyperlink.setTranslateX(125);
        hyperlink.setTranslateY(108);
        // hyperlink هنا قمنا بتحديد حجم الكائن
        hyperlink.setPrefSize(150, 34);
        
		// بشكل إفتراضي hyperlink هنا قمنا بإلغاء المربع الإفتراضي الذي يظهر حول الكائن
        hyperlink.setBorder(Border.EMPTY);
        // hyperlink هنا قمنا بإخفاء الخط الذي يظهر بشكل إفتراضي عند تمرير الفأرة فوق الكائن
        hyperlink.setUnderline(false);
        // hyperlink هنا قمنا بتغيير نوع و حجم خط الكائن
        hyperlink.setFont(new Font("Arial", 15));
        // أبيض hyperlink هنا جعلنا لون خط الكائن
        hyperlink.setTextFill(Color.WHITE);
        // يظهر في المنتصف hyperlink هنا جعلنا نص الكائن
        hyperlink.setAlignment(Pos.CENTER);
        // defaultBackground الإفتراضي إلى اللون الذي يشير له الكائن hyperlink هنا قمنا بتغيير لون خلفية الكائن
        hyperlink.setBackground(defaultBackground);
        // في النافذة Root Node لأننا ننوي جعله الـ Group هنا قمنا بإنشاء كائن من الكلاس
        Group root = new Group();
        //
        //
        // root في الكائن hyperlink هنا قمنا بإضافة الكائن
        root.getChildren().add(hyperlink);
        // فيها و تحديد حجمها Node كأول root هنا قمنا بإنشاء محتوى النافذة مع تعيين الكائن
        Scene scene = new Scene(root, 400, 250);
        // هنا وضعنا عنوان للنافذة
        stage.setTitle("JavaFX Hyperlink");
        // أي وضعنا محتوى النافذة الذي قمنا بإنشائه للنافذة .stage في كائن الـ scene هنا وضعنا كائن الـ
        stage.setScene(scene);
        // هنا قمنا بإظهار النافذة
        stage.show();
        // hyperlink هنا قمنا بتحديد ماذا سيحدث عند تمرير الفأرة فوق الكائن
        hyperlink.addEventHandler(MouseEvent.MOUSE_ENTERED, (MouseEvent e) -> {
			// hyperlink سيتم وضعه كخلفية للكائن hoveredBackground هنا قلنا أن اللون الذي يشر له الكائن
            hyperlink.setBackground(hoveredBackground);
        });
        // hyperlink هنا قمنا بتحديد ماذا سيحدث عند إبعاد الفأرة من فوق الكائن
        hyperlink.addEventHandler(MouseEvent.MOUSE_EXITED, (MouseEvent e) -> {
			// لذلك سيرجع لونها كما كان hyperlink سيتم وضعه كخلفية للكائن defaultBackground هنا قلنا أن اللون الذي يشر له الكائن
            hyperlink.setBackground(defaultBackground);
        });
        
    }
    // هنا قمنا بتشغيل التطبيق
    public static void main(String[] args) {
        launch(args);
    }
}
		
		•ستظهر لك النافذة التالية عند التشغيل.
JavaFX طريقة إضافة أيقونة للـHyperlink مع تحديد مكان ظهورها
المثال التالي يعلمك طريقة إضافة أيقونة للـ Hyperlink مع تحديد مكان ظهورها.
ملاحظة: عليك إنشاء مجلد و وضع الأيقونة التي تريد وضعها للـ Hyperlink بداخله كما في الصورة التالية.
الصورة توضح أننا أضفنا مجلد إسمه images و وضعنا فيه صورة إسمها chrome-icon.png.
مثال طريقة إضافة أيقونة للـ Hyperlink مع تحديد مكان ظهورها.
	    
        import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.ContentDisplay;
import javafx.scene.control.Hyperlink;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.Background;
import javafx.scene.layout.BackgroundFill;
import javafx.scene.layout.Border;
import javafx.scene.layout.CornerRadii;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import javafx.stage.Stage;
public class Main extends Application {
    @Override
    public void start(Stage stage) {
        // يمثل الصورة التي سنضعها كأيقونة Image هنا قمنا بإنشاء كائن من الكلاس
        Image image = new Image(getClass().getResourceAsStream("/images/chrome-icon.png"));
 
        // يمثل الرابط الذي نريد إضافته في النافذة Hyperlink هنا قمنا بإنشاء كائن من الكلاس
        Hyperlink hyperlink = new Hyperlink("Go To Google", new ImageView(image));
        
        // hyperlink هنا حددنا أن الأيقونة ستظهر من يسار النص الموضوع في الكائن 
        hyperlink.setContentDisplay(ContentDisplay.LEFT);
		// hyperlink يمثل اللون الذي نريد وضعه كخلفية للكائن Background هنا قمنا بإنشاء كائن من الكلاس
        Background defaultBackground = new Background(new BackgroundFill(Color.CADETBLUE, new CornerRadii(5), Insets.EMPTY));
		// عند تمرير الفأرة فوقه hyperlink يمثل اللون الذي نريد وضعه كخلفية للكائن Background هنا قمنا بإنشاء كائن من الكلاس
        Background hoveredBackground = new Background(new BackgroundFill(Color.DARKCYAN, new CornerRadii(5), Insets.EMPTY));
        // في النافذة hyperlink هنا قمنا بتحديد مكان ظهور الكائن
        hyperlink.setTranslateX(125);
        hyperlink.setTranslateY(108);
        // hyperlink هنا قمنا بتحديد حجم الكائن
        hyperlink.setPrefSize(150, 34);
        
		// بشكل إفتراضي hyperlink هنا قمنا بإلغاء المربع الإفتراضي الذي يظهر حول الكائن
        hyperlink.setBorder(Border.EMPTY);
        // hyperlink هنا قمنا بإخفاء الخط الذي يظهر بشكل إفتراضي عند تمرير الفأرة فوق الكائن
        hyperlink.setUnderline(false);
        // hyperlink هنا قمنا بتغيير نوع و حجم خط الكائن
        hyperlink.setFont(new Font("Arial", 15));
        // أبيض hyperlink هنا جعلنا لون خط الكائن
        hyperlink.setTextFill(Color.WHITE);
        // يظهر في المنتصف hyperlink هنا جعلنا نص الكائن
        hyperlink.setAlignment(Pos.CENTER);
        // defaultBackground الإفتراضي إلى اللون الذي يشير له الكائن hyperlink هنا قمنا بتغيير لون خلفية الكائن
        hyperlink.setBackground(defaultBackground);
        // في النافذة Root Node لأننا ننوي جعله الـ Group هنا قمنا بإنشاء كائن من الكلاس
        Group root = new Group();
        // root في الكائن hyperlink هنا قمنا بإضافة الكائن
        root.getChildren().add(hyperlink);
        // فيها و تحديد حجمها Node كأول root هنا قمنا بإنشاء محتوى النافذة مع تعيين الكائن
        Scene scene = new Scene(root, 400, 250);
        // هنا وضعنا عنوان للنافذة
        stage.setTitle("JavaFX Hyperlink");
        // أي وضعنا محتوى النافذة الذي قمنا بإنشائه للنافذة .stage في كائن الـ scene هنا وضعنا كائن الـ
        stage.setScene(scene);
        // هنا قمنا بإظهار النافذة
        stage.show();
        // hyperlink هنا قمنا بتحديد ماذا سيحدث عند تمرير الفأرة فوق الكائن
        hyperlink.addEventHandler(MouseEvent.MOUSE_ENTERED, (MouseEvent e) -> {
			// hyperlink سيتم وضعه كخلفية للكائن hoveredBackground هنا قلنا أن اللون الذي يشر له الكائن
            hyperlink.setBackground(hoveredBackground);
        });
        // hyperlink هنا قمنا بتحديد ماذا سيحدث عند إبعاد الفأرة من فوق الكائن
        hyperlink.addEventHandler(MouseEvent.MOUSE_EXITED, (MouseEvent e) -> {
			// لذلك سيرجع لونها كما كان hyperlink سيتم وضعه كخلفية للكائن defaultBackground هنا قلنا أن اللون الذي يشر له الكائن
            hyperlink.setBackground(defaultBackground);
        });
    }
    // هنا قمنا بتشغيل التطبيق
    public static void main(String[] args) {
        launch(args);
    }
}
		
		•ستظهر لك النافذة التالية عند التشغيل.
مقدمة
في 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.
كونستركتورات الكلاس Hyperlink
	الجدول التالي يحتوي على كونستركتورات الكلاس Hyperlink.
| الكونستركتور مع تعريفه | |
|---|---|
| public Hyperlink()ينشئ كائن من الكلاسHyperlinkيمثل رابط فارغ. | |
| public Hyperlink(String text)ينشئ كائن من الكلاسHyperlinkيمثل رابط له نص محدد.مكان الباراميتر textنمرر النص الذي نريد وضعه له. | |
| public Hyperlink(String text, Node graphic)ينشئ كائن من الكلاسHyperlinkيمثل رابط له نص و أيقونة معاً.
 | |
دوال الكلاس Hyperlink
	الجدول التالي يحتوي على دوال الكلاس Hyperlink الأكثر إستخداماً.
| الدالة مع تعريفها | |
|---|---|
| public String getText()ترجع نص كائن الـHyperlinkالذي قام بإستدعائها كنص. | |
| public void setText(String text)تستخدم لتبديل نص كائن الـHyperlinkالذي قام بإستدعائها.مكان الباراميتر textنضع النص الجديد. | |
| public final void setTextFill(Paint value)تستخدم لتحديد لون نص كائن الـHyperlinkالذي قام بإستدعائها.مكان الباراميتر valueنضع كائن من إحدى الكلاسات التي ترث من الكلاسPaintو التي يمكن إستخدامها لتحديد درجة اللون. | |
| public final void setBackground(Background value)تستخدم لوضع لون أو صورة كخلفية لكائن الـHyperlinkالذي قام بإستدعائها.مكان الباراميتر valueنضع كائن من الكلاسBackgroundيشير إلى درجة اللون أو الصورة التي سيتم وضعها كخلفية. | |
| public final void setFont(Font newFont)تستخدم لتحديد حجم و نوع خط كائن الـHyperlinkالذي قام بإستدعائها.مكان الباراميتر newFontنضع كائن من الكلاسFontيمثل خصائص الخط الجديد. | |
| public final void setUnderline(boolean value)تستخدم لوضع خط تحت نص كائن الـHyperlinkالذي قام بإستدعائها.مكان الباراميتر valueنضع القيمةtrueلإظهار خط تحت النص. | |
| public final void setRotate(double degree)تستخدم لإدارة نص كائن الـHyperlinkالذي قام بإستدعائها.مكان الباراميتر degreeنضع رقم يمثل درجة الدوران. | |
| public final void setWrapText(boolean value)تستخدم لجعل نص كائن الـHyperlinkالذي قام بإستدعائها ينزل على سطر جديد في حال كان لا يسع في سطر واحد.مكان الباراميتر valueنضع القيمةtrueلجعل الأحرف تظهر على سطر جديد عند الحاجة. | |
| public final void setLineSpacing(double value)تستخدم لتحديد المسافة بين كل سطرين في نص كائن الـHyperlinkالذي قام باستدعائها.مكان الباراميتر valueنضع رقم يمثل المسافة بين كل سطرين بالـ Pixel. | |
| public final void setPadding(Insets value)تستخدم لإضافة هامش ( مسافة فارغة ) حول نص كائن الـHyperlinkالذي قام باستدعائها.مكان الباراميتر valueنضع كائن من الكلاس Insets يمثل حجم الهامش حول النص من كل الجهات. | |
| public final void setScaleX(double value)تستخدم لتمطيط حجم كائن الـHyperlinkالذي قام باستدعائها بشكل أفقي.مكان الباراميتر valueنضع رقم يمثل كم مرة سيتم مضاعفة حجمه أفقياً. | |
| public final void setScaleY(double value)تستخدم لتمطيط حجم كائن الـHyperlinkالذي قام باستدعائها بشكل عامودي.مكان الباراميتر valueنضع رقم يمثل كم مرة سيتم مضاعفة حجمه عامودياً. | |
| public final void setTranslateX(double value)تستخدم لتحديد مكان كائن الـHyperlinkالذي قام باستدعائها أفقياً.مكان الباراميتر valueنضع رقم يمثل كم Pixel سيتم إزاحته من اليسار إلى اليمين. | |
| public final void setTranslateY(double value)تستخدم لتحديد مكان كائن الـHyperlinkالذي قام باستدعائها عامودياً.مكان الباراميتر valueنضع رقم يمثل كم Pixel سيتم إزاحته من الأعلى إلى الأسفل. | |
| public void setPrefSize(double prefWidth, double prefHeight)تستخدم لتحديد حجم كائن الـHyperlinkالذي قام باستدعائها.
 | |
| public final void setContentDisplay(ContentDisplay value)تستخدم لتحديد مكان ظهور الأيقونة التي تم إضافتها لكائن الـHyperlinkالذي قام باستدعائها.مكان الباراميتر valueنضع إحدى ثوابت الكلاسContentDisplay:
 | |
| public final void setDisable(boolean value)تستخدم لجعل نص كائن الـHyperlinkالذي قام باستدعائها يبدو غير مفعّل, أي يصبح لونه باهتاً و غير قابل للنقر عليه.مكان الباراميتر valueنضع القيمةtrueلجعله غير مفعّل. | |
| public final void setStyle(String value)تستخدم لتعديل تصميم كائن الـHyperlinkالذي قام بإستدعائها.مكان الباراميتر valueيمكنك تمرير إسم و قيمة أي خاصية تريد تعديلها في كائن الـHyperlinkبأسلوب لغة CSS لإظهاره بالشكل الذي تريده. | |
أمثلة شاملة
المثال الأول
المثال التالي يعلمك طريقة إنشاء كائن من الكلاس Hyperlink و إضافته في النافذة.
المثال الثاني
المثال التالي يعلمك طريقة تغيير شكل الـ Hyperlink.
	ستتعلم طريقة إزالة الخط الذي يظهر تحته, لون الخط الإفتراضي, حجم الخط الإفتراضي, المربع الذي يظهر حوله عند النقر عليه, إضافة لون للخلفية إلخ..
المثال الثالث
المثال التالي يعلمك طريقة إضافة أيقونة للـ Hyperlink مع تحديد مكان ظهورها.
المثال الرابع
المثال التالي يعلمك طريقة فتح صفحة ويب بداخل WebView عند النقر على Hyperlink.
كورس تعلم javaFX
 






