Programming Basics SQL HTML CSS JavaScript Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals 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);
}
}
}
});
}
}
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.