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

إرسال مساهمة في موضوع

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

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

مُساهمة من طرف زهراء في السبت أكتوبر 20, 2018 3:09 pm

أهلا بكم

لكلاس Alert يستخدم لإظهار نافذة ثانوية ( Dialog ) جاهزة أمام المستخدم.... في العادة نستخدم نوافذ ثانوية في التطبيقات لأسباب عديدة منها: لتحذير المستخدم أو إعلامه بشيء ما, لسؤاله إذا كان موافقاً على أمر ما أم لا, لنطلب منه إدخال معلومة ما, لنطلب منه تسجيل الدخول, لإظهار نتيجة عملية بحث ما إلخ..

في البداية عليك معرفة أنه لتحديد نوع النافذة التي ستظهر, فإننا نستخدم إحدى الثوابت الموجودة في الكلاس AlertType...بالنسبة للنوافذ التي يمكن إظهارها للمستخدم فإنه يطلق عليها التسميات التالية:


  • Information Dialog :عبارة عن نافذة منبثقة تستخدم لإعلام المستخدم بشيء ما, و البعض يسميها Message Dialog...لإظهار نافذة من هذا النوع يجب تمرير الثابت AlertType.INFORMATION في كونستركتور الكائن Alert.




  • Warning Dialog : عبارة عن نافذة منبثقة تستخدم لتنبيه المستخدم حول أمر ما... لإظهار نافذة من هذا النوع يجب تمرير الثابت AlertType.WARNING في كونستركتور الكائن Alert.



  • Error Dialog : عبارة عن نافذة منبثقة تستخدم لتنبيه المستخدم حول وجود خطأ.... لإظهار نافذة من هذا النوع يجب تمرير الثابت AlertType.ERROR في كونستركتور الكائن Alert.



  • Confirmation Dialog : عبارة عن نافذة منبثقة تستخدم لسؤال المستخدم إذا كان موافقاً على شيء ما أم لا... لإظهار نافذة من هذا النوع يجب تمرير الثابت AlertType.CONFIRMATION في كونستركتور الكائن Alert.



طريقة التعامل معه

في حال أردنا إظهار نافذة ثانوية فيجب أن نفعل التالي:


  1. نقوم بإنشاء كائن من الكلاس Alert, و في الكونستركتور نمرر ثابت من الكلاس AlertType لنحدد نوع النافذة التي نريد إظهارها.
  2. نستدعي الدالة setTitle() من الكائن Alert لوضع عنوان في Stage النافذة.
  3. نستدعي الدالة setHeaderText() من الكائن Alert لوضع عنوان رئيسي بداخل النافذة و الذي سيظهر بأحرف كبيرة.
  4. نستدعي الدالة setContentText() من الكائن Alert لوضع النص الذي سيظهر في النافذة بأحرف صغيرة.
  5. لإظهار النافذة نستدعي الدالة show() أو showAndWait() من الكائن Alert و ستعرف لاحقاً ما هو الفرق بينهما.



مكونات الـ Alert


النافذة التي نحصل عليها بواسطة الكلاس Alert تتألف من 4 أجزاء أساسية كما في الصورة التالية....و جميع هذه الأجزاء في الواقع موضوعة في كائن من كلاس إسمه DialogPane.


المثال التالي يظهر 4 أشكال مختلفة من النوافذ التي يمكن الحصول عليها بواسطة الكلاس Alert.
فعلياً, عند تشغيل البرنامج سيظهر لك Alert Information. عند إغلاقه سيظهر لك Alert Warning. عند إغلاقه سيظهر لك Alert Error. عند إغلاقه سيظهر لك Alert Confirmation.

الكود:
import javafx.application.Application;
import javafx.scene.control.Alert;
import javafx.scene.control.Alert.AlertType;
import javafx.stage.Stage;
 
public class Main extends Application {
 
    @Override
    public void start(Stage stage) {
        
        // مع تحديد محتواه و من ثم قمنا بإظهاره INFORMATION حددنا أنه يمثل نافذة من النوع Alert هنا قمنا بإنشاء كائن من الكلاس
        Alert alertInformation = new Alert(AlertType.INFORMATION);
        alertInformation.setTitle("Information Alert Title");
        alertInformation.setHeaderText("Information Alert Header");
        alertInformation.setContentText("Information Alert Content \nWhich can appears on multi-line if needed");
        alertInformation.showAndWait();
        
        // مع تحديد محتواه و من ثم قمنا بإظهاره WARNING حددنا أنه يمثل نافذة من النوع Alert هنا قمنا بإنشاء كائن من الكلاس
        Alert alertWarning = new Alert(AlertType.WARNING);
        alertWarning.setTitle("Warning Alert Title");
        alertWarning.setHeaderText("Warning Alert Header");
        alertWarning.setContentText("Warning Alert Content \nWhich can appears on multi-line if needed");
        alertWarning.showAndWait();
        
        // مع تحديد محتواه و من ثم قمنا بإظهاره ERROR حددنا أنه يمثل نافذة من النوع Alert هنا قمنا بإنشاء كائن من الكلاس
        Alert alertError = new Alert(AlertType.ERROR);
        alertError.setTitle("Error Alert Title");
        alertError.setHeaderText("Error Alert Header");
        alertError.setContentText("Error Alert Content \nWhich can appears on multi-line if needed");
        alertError.showAndWait();
        
        // مع تحديد محتواه و من ثم قمنا بإظهاره CONFIRMATION حددنا أنه يمثل نافذة من النوع Alert هنا قمنا بإنشاء كائن من الكلاس
        Alert alertConfirmation = new Alert(AlertType.CONFIRMATION);
        alertConfirmation.setTitle("Confirmation Alert Title");
        alertConfirmation.setHeaderText("Confirmation Alert Header");
        alertConfirmation.setContentText("Confirmation Alert Content \nWhich can appears on multi-line if needed");
        alertConfirmation.showAndWait();
        
    }
 
    public static void main(String[] args) {
        launch(args);
    }
 
}





avatar
زهراء
........
........

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

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

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

ََ

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


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