Programming Basics SQL HTML CSS JavaScript React Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Linux Learn Typing

Swingطريقة تحديد أنواع الملفات التي يمكن للمستخدم رؤيتها و إختيارها في الـ JFileChooser

المثال التالي يعلمك طريقة تحديد أنواع الملفات التي يمكن للمستخدم رؤيتها و إختيارها في الـ File Chooser Dialog.


مثال

Main.java
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JFileChooser;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.filechooser.FileNameExtensionFilter;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import javax.swing.JOptionPane;
 
public class Main {
 
    public static void main(String[] args) {
 
        JFrame frame = new JFrame("JFileChooser demo");           // أي قمنا بإنشاء نافذة مع وضع عنوان لها JFrame هنا أنشأنا كائن من الكلاس
        frame.setSize(520, 400);                                  // هنا قمنا بتحديد حجم النافذة. عرضها 520 و طولها 400
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);     // هنا جعلنا زر الخروج من النافذة يغلق البرنامج
 
        // هنا قمنا بتعريف كل شيء وضعناه في شريط القوائم
        JMenuBar menuBar = new JMenuBar();
        JMenu file = new JMenu("File");
        JMenuItem open = new JMenuItem("Open File");
 
        // file في القائمة open في شريط القوائم. ثم وضعنا العنصر file هنا وضعنا قائمة الـ
        menuBar.add(file);
        file.add(open);
 
        // عند الحاجة Scroll Bar حتى يظهر Scroll Pane و وضعناه بداخل Text Area هنا قمنا بتعريف
        JTextArea textArea = new JTextArea();
        JScrollPane textAreaScroller = new JScrollPane(textArea);
 
        // frame في الـ textAreaScroller و الـ menuBar هنا قمنا بوضع الـ
        frame.setJMenuBar(menuBar);
        frame.add(textAreaScroller);
 
        // File Chooser Dialog و الذي سنستخدمه لإظهار JFileChooser هنا قمنا بتعريف كائن من الكلاس
        JFileChooser chooser = new JFileChooser();
 
        // File Chooser Dialog يمثل إمتداد الملفات التي نريدها أن تظهر في الـ FileNameExtensionFilter هنا قمنا بإنشاء كائن من الكلاس
        FileNameExtensionFilter filter = new FileNameExtensionFilter("text or java files", "txt", "java" );
        chooser.setFileFilter(filter);
 
        // مرئية frame هنا جعلنا الـ
        frame.setVisible(true);
 
 
        // Open هنا قمنا بوضع الأوامر التي نريد تنفيذها عند النقر على الـ
        open.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
 
                // frame فوق الـ Color Chooser Dialog سيتم إظهار الـ
                int returnedValue = chooser.showOpenDialog(frame);
 
                // Open ففي حال قام المستخدم بإختيار ملف ثم نقر على
                if(returnedValue == JFileChooser.APPROVE_OPTION)
                {
                    // سيتم حفظ مساره
                    File selectedFile = chooser.getSelectedFile();
                    String filepath = selectedFile.getPath();
 
                    try {
                        // ثم قراءة محتواه سطراً سطراً
                        BufferedReader br = new BufferedReader(new FileReader(filepath));
                        String line = "";
                        String text = "";
 
                        while( (line=br.readLine()) != null )
                            text += line + "\n";
 
                        // ثم إغلاق الإتصال مع الملف textArea في الأخير سيتم وضعه كنص في الـ
                        textArea.setText(text);
                        br.close();
                    }
                    catch(IOException ioe) {
                        // Option Pane في حال حدث خطأ سيتم عرضه في
                        JOptionPane.showMessageDialog(null, ioe.getMessage(), "Error", JOptionPane.ERROR_MESSAGE);
                    }
                }
 
            }
        });
 
 
    }
 
}

ستظهر لك النافذة التالية عند التشغيل.

أنقر على الزر Open File لإظهار الـ Color Chooser Dialog.

لاحظ أنه يمكنك رؤية و إختيار الملفات التي إمتدادها .txt و .java

بعد إختيار الملف أنقر على الزر Open.

طريقة تحديد أنواع الملفات التي يمكن للمستخدم رؤيتها و إختيارها في ال jfilechooser في جافا

لاحظ أنه سيقوم بإخفاء الـ Color Chooser Dialog و عرض نص الملف الذي إخترته في الـ Text Area.