JavaFX طريقة تحديد نوع الملفات التي يمكن للمستخدم إختيارها في الـFileChooser

المثال التالي يعلمك طريقة تحديد نوع الملفات التي يمكنك للمستخدم إختيارها في الـ FileChooser.

  • في حال قام بإختيار النوع Text Files يمكنه فقط رؤية و إختيار الملفات التي نوعها txt.
  • في حال قام بإختيار النوع Java Files يمكنه فقط رؤية و إختيار الملفات التي نوعها java.
  • في حال قام بإختيار النوع Web Files يمكنه فقط رؤية و إختيار الملفات التي نوعها html أو css أو js أو php.
  • في حال قام بإختيار النوع All Files يمكنه رؤية و إختيار أي نوع من الملفات.

مثال

Main.java
import java.io.File;
import javafx.application.Application;
import javafx.stage.FileChooser;
import javafx.stage.FileChooser.ExtensionFilter;
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");
		
		// هنا قمنا بتحديد أنواع الملفات التي نريد إظهارها في قائمة تحديد أنواع الملفات التي يمكن للمستخدم إختيارها
		fileChooser.getExtensionFilters().addAll(
            new ExtensionFilter("Text Files", "*.txt"),
            new ExtensionFilter("Java Files", "*.java"),
            new ExtensionFilter("Web Files", "*.html", "*.css", "*.js", "*"),
            new ExtensionFilter("All Files", "*.*")
		);
        
		// لتخزين الملف الذي قد يختاره المستخدم من الحاسوب 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 في javafx

الدورات

أدوات مساعدة

أقسام الموقع

دورات
مقالات كتب مشاريع أسئلة