تعلم JavaFx ..مقال23_ واجهة المستخدم الرسومية _ الكلاس FileChooser
صفحة 1 من اصل 1 • شاطر
تعلم JavaFx ..مقال23_ واجهة المستخدم الرسومية _ الكلاس FileChooser
أهلا بكم
الكلاس FileChooser يستخدم للحصول على نافذة جاهزة و مخصصة لجعل المستخدم قادر على فتح ملفات موجودة على حاسوبه مباشرةً من تطبيقه و يتيح له أيضاً إظهار نافذة تساعده في تحديد المكان الذي يريد أن يحفظ فيه ملفاته.
ملاحظة: الكلاس FileChooser تابع للحزمة javafx.stage و ليس للحزمة javafx.scene.controls كما هو حال باقي العناصر التي شرحناها سابقاً...لكننا أضفناه في قسم "عناصر واجهة المستخدم" هنا لأنه يعتبر من العناصر المهمة في JavaFX حيث يتيح لك التعامل مباشرةً مع الملفات الموجودة على جهاز المستخدم.
طريقة التعامل معه :
إفتراضياً الـ FileChooser يتيح للمستخدم اختيار و رؤية أي نوع من الملفات الموجودة على جهازه مهما كان نوعها ( MP4 - MP3 - JPG - PNG - TXT الخ.. ) لكنك تستطيع إجبار المستخدم على اختيار أو حفظ أنواع محددة من الملفات من خلال إضافة فلاتر تضيفها على كائن FileChooser. و يمكنك جعل المستخدم قادر على فتح ملف واحد أو فتح عدة ملفات في وقت واحد.
أهم دوال الكلاس FileChooser
تظهر نافذة منبثقة أمام المستخدم تتيح له تحديد الملف الموجود على حاسوبه و الذي يريد أن يفتحه من التطبيق.هذه النافذة تحتوي على زر Cancel و زر Open.
مكان الباراميتر ownerWindow نمرر كائن يمثل نافذة التطبيق الحالية التي نريدها أن تنتظر ريثما يقوم المستخدم بإختيار ملف.أو نضع القيمة null لجعل المستخدم قادر على التعامل مع النافذة المنبثقة و نافذة التطبيق في وقت واحد.
عند إغلاق النافذة المنبثقة فإنها ترجع كائن من الكلاس File يمثل الملف الذي قام المستخدم بتحديده عندما قام بالنقر على الزر Open.
أو ترجع null في حال قام بإغلاق النافذة بدون أن يختار أي ملف
مكان الباراميتر ownerWindow نمرر كائن يمثل نافذة التطبيق الحالية التي نريدها أن تنتظر ريثما يقوم المستخدم بإختيار ملف.أو نضع القيمة null لجعل المستخدم قادر على التعامل مع النافذة المنبثقة و نافذة التطبيق في وقت واحد.
عند إغلاق النافذة المنبثقة فإنها ترجع كائن من الكلاس List يحتوي على مجموعة كائنات من الكلاس File تمثل الملفات التي قام المستخدم بتحديدها عندما قام بالنقر على الزر Open.أو ترجع null في حال قام بإغلاق النافذة بدون أن يختار أي ملف.
ترمي الإستثناء UnsupportedOperationException في حال إجراء أي تعديل على ملف موجود في ضمن مجموعة الملفات التي تم إرجاعها.
مكان الباراميتر ownerWindow نمرر كائن يمثل نافذة التطبيق الحالية التي نريدها أن تنتظر ريثما يقوم المستخدم بتحديد مسار الملف و إسمه.
أو نضع القيمة null لجعل المستخدم قادر على التعامل مع النافذة المنبثقة و نافذة التطبيق في وقت واحد.
عند إغلاق النافذة المنبثقة فإنها ترجع كائن من الكلاس File يمثل مسار الملف الذي قام المستخدم بحفظه عندما قام النقر على الزر Save.
أو ترجع null في حال قام بإغلاق النافذة و لم يحفظ الملف.
فعلياً, هذه الدالة ترجع لك كائن الـ ObservableList الذي يمثل لائحة الفلاتر الخاصة بالكائن FileChooser الذي قام باستدعائها و التي يمكنك من خلالها إضافة فلاتر جديدة.
ملاحظة: أول فلتر تضيفه فيها, يظهر مختاراً بشكل إفتراضي عند إظهار الكائن FileChooser و طبعاً يستطيع المستخدم أن يختار الفيلتر الذي يريده من القائمة.
كيفية إنشاءه برمجيا
يتم إنشاءة على النحو التالى :
1_إستيراد المكتبة stage وتحدديد الكلاس FileChooser
2_إنشاء كائن جديد من الكلاس FileChooser الذي يمثل نافذة خاصة تتيح للمستخدم إختيار ملف
3_ وضع عنوان لمربع الاختيار
المثال الكامل التالي يعلمك طريقة إنشاء كائن من الكلاس FileChooser لإظهار File Chooser Dialog و معرفة إذا تم النقر على الزر Open أم لا.
![تعلم JavaFx ..مقال23_ واجهة المستخدم الرسومية _ الكلاس FileChooser Example-1](https://2img.net/h/harmash.com/javafx/javafx-filechooser/example-1.PNG)
طريقة تحديد نوع الملفات التي يمكن للمستخدم إختيارها في الـFileChooser
يمكنك فلترة نوع الملفات التى يسمح للمستخدم ادراجها عن طريق الشفرة التالية :
![تعلم JavaFx ..مقال23_ واجهة المستخدم الرسومية _ الكلاس FileChooser Example-2](https://2img.net/h/harmash.com/javafx/javafx-filechooser/example-2.gif)
الكلاس FileChooser يستخدم للحصول على نافذة جاهزة و مخصصة لجعل المستخدم قادر على فتح ملفات موجودة على حاسوبه مباشرةً من تطبيقه و يتيح له أيضاً إظهار نافذة تساعده في تحديد المكان الذي يريد أن يحفظ فيه ملفاته.
ملاحظة: الكلاس FileChooser تابع للحزمة javafx.stage و ليس للحزمة javafx.scene.controls كما هو حال باقي العناصر التي شرحناها سابقاً...لكننا أضفناه في قسم "عناصر واجهة المستخدم" هنا لأنه يعتبر من العناصر المهمة في JavaFX حيث يتيح لك التعامل مباشرةً مع الملفات الموجودة على جهاز المستخدم.
طريقة التعامل معه :
إفتراضياً الـ FileChooser يتيح للمستخدم اختيار و رؤية أي نوع من الملفات الموجودة على جهازه مهما كان نوعها ( MP4 - MP3 - JPG - PNG - TXT الخ.. ) لكنك تستطيع إجبار المستخدم على اختيار أو حفظ أنواع محددة من الملفات من خلال إضافة فلاتر تضيفها على كائن FileChooser. و يمكنك جعل المستخدم قادر على فتح ملف واحد أو فتح عدة ملفات في وقت واحد.
- لجعل كائن الـ FileChooser يظهر نافذة خاصة لجعل المستخدم يختار الملف الذي يريد فتحه من التطبيق, قم باستدعاء الدالة الـ showOpenDialog().
- لجعل كائن الـ FileChooser يظهر نافذة خاصة لجعل المستخدم يختار الملفات التي يريد فتحها من التطبيق, قم باستدعاء الدالة الـ showOpenMultipleDialog().
- لجعل كائن الـ FileChooser يظهر نافذة خاصة لجعل المستخدم يختار الملف الذي يريد فته من التطبيق, قم باستدعاء الدالة الـ showSaveDialog().
أهم دوال الكلاس FileChooser
- الكود:
public final void setTitle(String value)
- الكود:
public File showOpenDialog(Window ownerWindow)
تظهر نافذة منبثقة أمام المستخدم تتيح له تحديد الملف الموجود على حاسوبه و الذي يريد أن يفتحه من التطبيق.هذه النافذة تحتوي على زر Cancel و زر Open.
مكان الباراميتر ownerWindow نمرر كائن يمثل نافذة التطبيق الحالية التي نريدها أن تنتظر ريثما يقوم المستخدم بإختيار ملف.أو نضع القيمة null لجعل المستخدم قادر على التعامل مع النافذة المنبثقة و نافذة التطبيق في وقت واحد.
عند إغلاق النافذة المنبثقة فإنها ترجع كائن من الكلاس File يمثل الملف الذي قام المستخدم بتحديده عندما قام بالنقر على الزر Open.
أو ترجع null في حال قام بإغلاق النافذة بدون أن يختار أي ملف
- الكود:
public List<File> showOpenMultipleDialog(Window ownerWindow)
مكان الباراميتر ownerWindow نمرر كائن يمثل نافذة التطبيق الحالية التي نريدها أن تنتظر ريثما يقوم المستخدم بإختيار ملف.أو نضع القيمة null لجعل المستخدم قادر على التعامل مع النافذة المنبثقة و نافذة التطبيق في وقت واحد.
عند إغلاق النافذة المنبثقة فإنها ترجع كائن من الكلاس List يحتوي على مجموعة كائنات من الكلاس File تمثل الملفات التي قام المستخدم بتحديدها عندما قام بالنقر على الزر Open.أو ترجع null في حال قام بإغلاق النافذة بدون أن يختار أي ملف.
ترمي الإستثناء UnsupportedOperationException في حال إجراء أي تعديل على ملف موجود في ضمن مجموعة الملفات التي تم إرجاعها.
- الكود:
public File showSaveDialog(Window ownerWindow)
مكان الباراميتر ownerWindow نمرر كائن يمثل نافذة التطبيق الحالية التي نريدها أن تنتظر ريثما يقوم المستخدم بتحديد مسار الملف و إسمه.
أو نضع القيمة null لجعل المستخدم قادر على التعامل مع النافذة المنبثقة و نافذة التطبيق في وقت واحد.
عند إغلاق النافذة المنبثقة فإنها ترجع كائن من الكلاس File يمثل مسار الملف الذي قام المستخدم بحفظه عندما قام النقر على الزر Save.
أو ترجع null في حال قام بإغلاق النافذة و لم يحفظ الملف.
- الكود:
public ObservableList<FileChooser.ExtensionFilter> getExtensionFilters()
فعلياً, هذه الدالة ترجع لك كائن الـ ObservableList الذي يمثل لائحة الفلاتر الخاصة بالكائن FileChooser الذي قام باستدعائها و التي يمكنك من خلالها إضافة فلاتر جديدة.
ملاحظة: أول فلتر تضيفه فيها, يظهر مختاراً بشكل إفتراضي عند إظهار الكائن FileChooser و طبعاً يستطيع المستخدم أن يختار الفيلتر الذي يريده من القائمة.
كيفية إنشاءه برمجيا
يتم إنشاءة على النحو التالى :
1_إستيراد المكتبة stage وتحدديد الكلاس FileChooser
- الكود:
import javafx.stage.FileChooser;
2_إنشاء كائن جديد من الكلاس FileChooser الذي يمثل نافذة خاصة تتيح للمستخدم إختيار ملف
- الكود:
FileChooser fileChooser = new FileChooser();
3_ وضع عنوان لمربع الاختيار
- الكود:
fileChooser.setTitle("Open Resource File");
المثال الكامل التالي يعلمك طريقة إنشاء كائن من الكلاس FileChooser لإظهار File Chooser Dialog و معرفة إذا تم النقر على الزر Open أم لا.
- الكود:
import java.io.File;
import javafx.application.Application;
import javafx.stage.FileChooser;
import javafx.stage.Stage;
public class Main extends Application {
@Override
public void start(Stage stage) {
// و الذي يمثل نافذة خاصة تتيح للمستخدم إختيار ملف FileChooser هنا قمنا بإنشاء كائن من الكلاس
FileChooser fileChooser = new FileChooser();
// FileChooser هنا قمنا بوضع عنوان للكائن
fileChooser.setTitle("Open Resource File");
// لتخزين الملف الذي قد يختاره المستخدم من الحاسوب selectedFile و قمنا بتجهيز الكائن showOpenDialog() بواسطة الدالة fileChooser هنا قمنا بإظهار الكائن
File selectedFile = fileChooser.showOpenDialog(stage);
// Open فهذا يعني أن المستخدم قام باختيار ملف على جهازه و نقر على الزر null لا تساوي selectedFile في حال كانت قيمة الكائن
if( selectedFile != null )
{
// هنا من المفترض أن تضع الأوامر التي سيتم تنفيذها في حال قام المستخدم بإختيار ملف ما
}
// الأساسي في التطبيق stage حتى لا يظل البرنامج معلقاً بسبب أنه لم يتم إغلاق الـ fileChooser هنا قمنا بإغلاق التطبيق مباشرةً عند إغلاق الـ
System.exit(0);
}
// هنا قمنا بتشغيل التطبيق
public static void main(String[] args) {
launch(args);
}
}
و النتيجة على النحو التالى :
طريقة تحديد نوع الملفات التي يمكن للمستخدم إختيارها في الـFileChooser
يمكنك فلترة نوع الملفات التى يسمح للمستخدم ادراجها عن طريق الشفرة التالية :
- الكود:
fileChooser.getExtensionFilters().addAll(
new ExtensionFilter("Text Files", "*.txt"),
new ExtensionFilter("Java Files", "*.java"),
new ExtensionFilter("Web Files", "*.html", "*.css", "*.js", "*.php"),
new ExtensionFilter("All Files", "*.*")
);
و النتيجة على النحو التالى :
![تعلم JavaFx ..مقال23_ واجهة المستخدم الرسومية _ الكلاس FileChooser Example-2](https://2img.net/h/harmash.com/javafx/javafx-filechooser/example-2.gif)
زهراء- ........
- تاريخ التسجيل : 18/02/2011
المساهمات : 438
النقاط : 769
التقيم : 67
الدولة :
الجنس :
رد: تعلم JavaFx ..مقال23_ واجهة المستخدم الرسومية _ الكلاس FileChooser
تحياتى لكي استاذة زهراء على كل ما تقدمية للمحتوي العربي من جهد
ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
| |
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى
» تصميم تطبيق جوال لمغسلة ملابس
» تصميم تطبيق جوال لشركة عقارات
» شركة مكافحة النمل الابيض بالرياض
» تصميم تطبيق جوال لنقل الاثاث
» هناجر
» تصميم تطبيق جوال لمتجر ورد
» تصميم تطبيق جوال لسلسلة مطاعم
» تصميم تطبيق جوال لتوصيل الطلبات
» مظلات سيارات متحركة