تعلم JavaFx ..مقال17_ واجهة المستخدم الرسومية _ الكلاس Tooltip

اذهب الى الأسفل

تعلم JavaFx ..مقال17_ واجهة المستخدم الرسومية _ الكلاس Tooltip Empty تعلم JavaFx ..مقال17_ واجهة المستخدم الرسومية _ الكلاس Tooltip

مُساهمة من طرف زهراء في الجمعة أكتوبر 19, 2018 8:35 am

أهلا بكم

الكلاس Tooltip يستخدم لإظهار رسالة تلميح ( Tooltip ) تستخدم عادة مع المؤشر الفارة حيث يمرر المستخدم المؤشر فوق أحد العناصر، دون أن ينقر عليه، فيمكن للتلميح عندها أن يظهر على شكل مربع يحتوي على معلومات متعلقة بالعنصر ومن ثم يختفي..... في JavaFX يمكنك تعديل تصميم الـ Tooltip كيفما شئت. و يمكنك إظهار Tooltip لأي شيء تضيفه في النافذة.

ويتم بناءة باستخدام المشيد التالى :

الكود:
public Tooltip(String text)

حيث ينشئ كائن من الكلاس Tooltip يمثل رسالة توجيه فيها نص....الباراميتر text نمرر النص الذي نريده أن يظهر في الـ Tooltip.

أهم دوال الكائن Tooltip

الكود:
setGraphic(Node value)
تستخدم لوضع أيقونة لكائن الـ Tooltip الذي قام بإستدعائها...الباراميتر Node نضع كائن من الكلاس Font يمثل خصائص الخط الجديد.

الكود:
setContentDisplay(ContentDisplay value)
تستخدم لتحديد مكان ظهور الأيقونة التي تم إضافتها لكائن الـ Tooltip الذي قام باستدعائها... الباراميتر value نضع إحدى ثوابت الكلاس ContentDisplay:


  • الثابت LEFT يجعل الصورة تظهر يسار النص كما يظهر بشكل إفتراضي.
  • الثابت RIGHT يجعل الصورة تظهر يمين النص.
  • الثابت TOP يجعل الصورة تظهر تحت النص.
  • الثابت BOTTOM يجعل الصورة تظهر فوق النص.
  • الثابت CENTER يجعل النص يظهر على الصورة.
  • الثابت GRAPHIC_ONLY يجعل الصورة فقط تظهر.
  • الثابت TEXT_ONLY يجعل النص فقط يظهر.




الكود:
 setTextAlignment(TextAlignment value)
تستخدم لتحديد مكان ظهور نص كائن الـ Tooltip الذي قام بإستدعائها في حال كان يتألف من أكثر من سطر...في العادة, إذا كان نص الـ Tooltip يتألف من عدة أسطر فإن كل سطر يبدأ من ناحية اليسار.
هذه الدالة تمكنك من تحديد الناحية التي سيتم جذب النص إليها و بالتالي تمكنك من إظهار النص من ناحية اليمين, أو اليسار, أو الوسط.... الباراميتر value نضع إحدى ثوابت الكلاس TextAlignment:


  • الثابت LEFT يجعل النص يبدأ في الظهور من ناحية اليمين في بداية كل سطر.
  • الثابت RIGHT يجعل النص يبدأ في الظهور من ناحية اليسار في بداية كل سطر.
  • الثابت CENTER يجعل النص يظهر في وسطر كل سطر.
  • الثابت JUSTIFY يجعل النص يملئ كل سطر و قد يضيف مسافات بشكل تلقائي ليجعله كذلك.




الكود:
setWrapText(boolean value)
تستخدم لجعل نص كائن الـ Tooltip الذي قام بإستدعائها ينزل على سطر جديد في حال كان لا يسع في سطر واحد....الباراميتر value نضع القيمة true لجعل الأحرف تظهر على سطر جديد عند الحاجة و نضع القيمة false إذا لم نرد ذلك.


التعامل معه برمجيا :

لمثال التالي يعلمك طريقة إنشاءة وضع أيقونة للـ Tooltip.

لاحظة: عليك إنشاء مجلد و وضع الصورة فيه كما في الصورة التالية.

تعلم JavaFx ..مقال17_ واجهة المستخدم الرسومية _ الكلاس Tooltip Example-2-and-3-project-structure

الصورة توضح أننا أضفنا مجلد إسمه images و وضعنا فيه صورة واحدة.

الكود:
import javafx.application.Application;
import javafx.collections.ObservableList;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.PasswordField;
import javafx.scene.control.Tooltip;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.stage.Stage;

public class Main extends Application {

    @Override
    public void start(Stage stage) {
        // passwordField يمثل الرسالة التي نريدها أن تظهر عند وضع الفأرة فوق الكائن Tooltip هنا قمنا بإنشاء كائن من الكلاس
        Tooltip tooltip = new Tooltip("Password should be at least 8 characters");

        // tooltip كأيقونة للكائن info-icon هنا قمنا بوضع الصورة
        tooltip.setGraphic(
            new ImageView(new Image(getClass().getResourceAsStream("images/info-icon.png")))
        );

        // يمثل مربع النص الخاص لإدخال كلمة المرور الذي نريد إضافته في النافذة PasswordField هنا قمنا بإنشاء كائن من الكلاس
        PasswordField passwordField = new PasswordField();

        // passwordField للكائن Tooltip كـ tooltip هنا قمنا بوضع الكائن
        passwordField.setTooltip(tooltip);

             passwordField.setTranslateX(100);
        passwordField.setTranslateY(110);
    
        passwordField.setPrefWidth(200);
      
        Group root = new Group();
     
        ObservableList list = root.getChildren();
      
        list.add(passwordField);
            Scene scene = new Scene(root, 400, 250);
        stage.setTitle("JavaFX Tooltip");
              stage.setScene(scene);
            stage.show();
    }

  
    public static void main(String[] args) {
        launch(args);
    }

}

و النتيجة

تعلم JavaFx ..مقال17_ واجهة المستخدم الرسومية _ الكلاس Tooltip Example-2
زهراء
زهراء
........
........

تاريخ التسجيل : 18/02/2011
المساهمات : 406
النقاط : 691
التقيم : 55
الدولة : مصر
الجنس : انثى

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الرجوع الى أعلى الصفحة

ََ

مواضيع ذات صلة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى