منتدى مصر التقني
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

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

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

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

مُساهمة من طرف زهراء الجمعة أكتوبر 19, 2018 6:11 pm

أهلا بكم

الكلاس DatePicker يستخدم للحصول على ComboBox خاص لإختيار التاريخ (Date Chooser) بشكل جميل جداً و سهل للغاية. حيث تجد أنه يتيح لك إدخال التاريخ بنفسك أو إختياره من القائمة التي تظهر عند النقر على أيقونة التاريخ.

تعلم JavaFx ..مقال22_ واجهة المستخدم الرسومية _ الكلاس DatePicker Datechooser

إفتراضياً, يتم عرض التاريخ في الـ DatePicker بلغة حاسوب المستخدم في حال لم تقم بتحديد لغة التطبيق بنفسك...و طبعاً يمكنك تحديد لغة التطبيق و عرض التاريخ باللغة التي تريدها بالإضافة إلى أنك تستطيع إظهار التاريخ الهجري هذا شرحناه بتفصيل في الأمثلة.

أهم الكونستركتورات الموجودة في الكلاس DatePicker.

الكود:
public DatePicker(LocalDate localDate)

ينشئ كائن من الكلاس DatePicker يمثل ComboBox مخصص لإختيار التاريخ, مع تحديد التاريخ الذي سيظهر موجوداً فيه بشكل إفتراضي.

أهم دوال الكلاس DatePicker

الدالة :
الكود:
LocalDate getValue()
ترجع القيمة المختارة في كائن الـ DatePicker الذي قام باستدعائها ككائن من الكلاس LocalDate.

الدالة :
الكود:
setValue(LocalDate value)
تستخدم لتحديد التاريخ الذي نريده أن يظهر مختاراً في كائن الـ DatePicker الذي باستدعائها..... البارميتر value نضع كائن من الكلاس LocalDate يمثل التاريخ الذي سيتم إختياره.

الدالة :
الكود:
setConverter(StringConverter<LocalDate> value)
تستخدم لتحديد طريقة ظهور التاريخ (Date Format) الذي سيختاره المستخدم في كائن الـ DatePicker الذي باستدعائها.

الدالة :
الكود:
setPromptText(String value)
تستخدم لعرض نص إرشادي في كائن الـ DatePicker الذي باستدعائها في حال كان فارغاً و لم يقم المستخدم بعد بوضع الفأرة بداخله.... البارميتر value نمرر النص الذي نريد أن يتم عرضه في كائن الـ DatePicker في حال كان فارغاً و لم يقم المستخدم بعد بوضع الفأرة بداخله.

كيفية إنشاءه برمجيا

1_إستيراد المكتبة التى تحتوى على عناصر واجهة المستخدام الرسومية وتحدديد الكلاس DatePicker

الكود:
import javafx.scene.control.DatePicker;

2_إنشاء كائن جديد من الكلاس DatePicker يمثل قائمة التاريخ التي نريد إضافتها في النافذة  

الكود:
DatePicker datePicker = new DatePicker(LocalDate.of(1994, 10, 6));

لاحظ إننا وضعنا تاريخ افتراضي للظهور بالعنصر قبل اختار المستخدم اى تاريخ

المثال الكامل التالي يعلمك إنشاء DatePicker على النافذة وضع تاريخ إفتراضي للـ DatePicker.

الكود:
import java.time.LocalDate;
import javafx.application.Application;
import javafx.collections.ObservableList;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.DatePicker;
import javafx.stage.Stage;
 
public class Main extends Application {
 
    @Override
    public void start(Stage stage) {

        // يمثل قائمة إختيار التاريخ التي نريد إضافتها في النافذة مع تحديد التاريخ الإفتراضي الذي نريده أن يظهر بداخلها DatePicker هنا قمنا بإنشاء كائن من الكلاس
        DatePicker datePicker = new DatePicker(LocalDate.of(1994, 10, 6));

        // في النافذة datePicker هنا قمنا بتحديد مكان ظهور الكائن
        datePicker.setTranslateX(150);
        datePicker.setTranslateY(30);
 
        // في النافذة datePicker هنا قمنا بتحديد حجم الـ
        datePicker.setPrefSize(100, 30);
 
        // في النافذة Root Node لأننا ننوي جعله الـ Group هنا قمنا بإنشاء كائن من الكلاس
        Group root = new Group();
 
        // list و بالتالي أصبح أي شيء نريد إضافته نضيفه في الكائن list مرتبط بالكائن root هنا جعلنا الكائن
        ObservableList list = root.getChildren();
 
        // group و الذي بدوره سيضاف أيضاً في الكائن list في الكائن datePicker هنا قمنا بإضافة الكائن
        list.add(datePicker);

        // فيها و تحديد حجمها Node كأول root هنا قمنا بإنشاء محتوى النافذة مع تعيين الكائن
        Scene scene = new Scene(root, 400, 300);
        
        // هنا وضعنا عنوان للنافذة
        stage.setTitle("JavaFX DatePicker");
 
        // أي وضعنا محتوى النافذة الذي قمنا بإنشائه للنافذة .stage في كائن الـ scene هنا وضعنا كائن الـ
        stage.setScene(scene);
 
        // هنا قمنا بإظهار النافذة
        stage.show();

    }
 
    // هنا قمنا بتشغيل التطبيق
    public static void main(String[] args) {
        launch(args);
    }
 
}

و النتيجة على النحو التالى :

تعلم JavaFx ..مقال22_ واجهة المستخدم الرسومية _ الكلاس DatePicker Example-2

طريقة إظهار الـ DatePicker باللغة العربية

كل ما تحتاج فعله لتحديد أن لغة التطبيق هي اللغة العربية هو كتابة الأمر التالي في الدالة main().

الكود:
Locale.setDefault(new Locale("ar"));

و في حال أردت تحديد أن لغة التطبيق هي اللغة الفرنسية قم بتديل الكلمة "ar" التي تشير للعربية إلى الكلمة "fr" التي تشير للفرنسية و هكذا.

الكود:
Locale.setDefault(new Locale("fr"));

و اليك مثال كامل :

الكود:
import java.time.LocalDate;
import java.util.Locale;
import javafx.application.Application;
import javafx.collections.ObservableList;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.DatePicker;
import javafx.stage.Stage;
 
public class Main extends Application {
 
    @Override
    public void start(Stage stage) {

               DatePicker datePicker = new DatePicker(LocalDate.of(1994, 10, 6));
            datePicker.setTranslateX(150);
        datePicker.setTranslateY(30);
        datePicker.setPrefSize(100, 30);
      
        Group root = new Group();
                ObservableList list = root.getChildren();
              list.add(datePicker);
             Scene scene = new Scene(root, 400, 300);
        
              stage.setTitle("JavaFX DatePicker");
            stage.setScene(scene);
           stage.show();

    }
 
    // هنا قمنا بتشغيل التطبيق
    public static void main(String[] args) {
        // باللغة العربية datePicker هنا قمنا بتحديد أن اللغة العربية هي اللغة اللإفتراضية للتطبيق حتى يظهر التاريخ في الكائن
        Locale.setDefault(new Locale("ar"));
        launch(args);
    }
 
}

و النتيجة على النحو التالى :

تعلم JavaFx ..مقال22_ واجهة المستخدم الرسومية _ الكلاس DatePicker Example-3


طريقة إظهار التقويم الهجري في الـ DatePicker

بسطر كود واحد يمكنك تنسيق التاريخ ليظهر التاريخ الهجري على النحو التالى :

الكود:
 datePicker.setChronology(HijrahChronology.INSTANCE);

و النتيجة على النحو التالى :

تعلم JavaFx ..مقال22_ واجهة المستخدم الرسومية _ الكلاس DatePicker Example-7
زهراء
زهراء
........
........

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

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

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

مُساهمة من طرف NEXT الثلاثاء أكتوبر 23, 2018 6:12 pm

اشهدك لك بعلمك و سهولة شرحك الله يوفقك يارررب

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
تعلم JavaFx ..مقال22_ واجهة المستخدم الرسومية _ الكلاس DatePicker Do.php?imgf=154090993464951
NEXT
NEXT
الادارة
الادارة

تاريخ التسجيل : 18/02/2011
المساهمات : 446
النقاط : 200660
التقيم : 28
الدولة : مصر
الجنس : ذكر

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

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

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

NEXT كتب:اشهدك لك بعلمك و سهولة شرحك الله يوفقك يارررب

جزاكم الله خيرا  Very Happy
زهراء
زهراء
........
........

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

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

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

ََ

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


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