كيفية فتح ملف واحد أو أكثر باستخدام JFileChooser

JFileChooser طريقة جيدة جدا لإنشاء مربعات حوار لفتح الملفات والمجلدات وحفظها وعرضها.

لإظهار مربع الحوار JFileChooser من الافتتاح ، ما عليك سوى كتابة هذين السطرين من التعليمات البرمجية:

//إنشاء منتقي الملفات
JFileChooser fc = جديد JFileChooser (); < / span >
//الاستجابة عند النقر فوق زر
int return = fc.showOpenDialog(component_parent); < / span >

showOpenDialog يفتح مربع الحوار الافتتاحي. ترجع هذه الطريقة واحدة من ثلاث قيم محتملة تذكر أي من الخيارات يختارها المستخدم:
  • JFileChooser.CANCEL_OPTION: قام المستخدم بإلغاء فتحه ؛ < / li>
  • JFileChooser.APPROVE_OPTION: تحقق المستخدم من صحة الافتتاح ؛ < / li>
  • JFileChooser.ERROR_OPTION: حدث خطأ.
يعرض هذا الرمز مربع الحوار ويحدد ويحمل الملف المختار: < / div>

< / div>
< pre class = "prettyprint lang-java" >import java.awt.BorderLayout ؛
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;

الفئة العامة JFileChooserTest {
الفراغ العام الثابت الرئيسي (سلسلة [] args) {
نافذة JFrame النهائية = JFrame الجديدة ();
window.setSize (200200) ؛
window.setLocationRelativeTo(null);
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.setVisible (صحيح) ؛
JMenuBar jmb = JMenuBar الجديد ();
JMenu jm = JMenu الجديد ("فيشر") ؛
JMenuItem Open = JMenuItem جديد ("مفتوح") ؛
jm.add (مفتوح);
jmb.add (jm) ؛

window.add (jmb ، BorderLayout.NORTH) ؛

JFileChooser fc = JFileChooser الجديد () ؛

Open.addActionListener (جديد ActionListener () {
@Override
إجراء الفراغ العام PerformDone (ActionEvent arg0) {
// TODO كعب طريقة تم إنشاؤه تلقائيا
int val_retour = fc.showOpenDialog (نافذة) ؛

إذا كان (val_retour == JFileChooser.APPROVE_OPTION) {
ملف ملف = fc.getSelectedFile();
//display file name
System.out.println("اسم الملف: "+file.getName()+"\n");
//display المسار المطلق للملف
System.out.println("المسار المطلق: "+file.getAbsolutePath()+"\n");
} آخر {
System.out.println("تم إلغاء الافتتاح\n");
}
}
}) ؛
}
}
< / pre> الإخراج: < / div>
< div class = "الفاصل" النمط = "واضح: كلاهما ؛ محاذاة النص: الوسط؛" >كيفية فتح ملف واحد أو أكثر باستخدام JFileChooser< / a>< / div>
الشاشة الطرفية بعد النقر فوق "فتح":

اسم الملف:  decTo Binaire.cpp

اسم الملف: C: \ المستخدمون \ VAIO \ المستندات \ CC + + \ decTo Binaire.cpp
< / pre> لاسترداد الملف المختار ، استخدم الطريقة getSelectedFile(). إذا كانت القيمة المرجعة هي JFileChooser.APPROVE_OPTION< / span > ، القيمة التي تم إرجاعها هي مثيل ل
class File< / a>.

يتم الحصول على اسم الملف والمسار المطلق باستخدام getName() و getAbsolutePath() على التوالي. إذا ألغى المستخدم العملية ، يتم عرض رسالة تشير إلى أن cancellation.

JFileChooser يسمح لك بتحديد ملف واحد أو أكثر. لفتحها جميعا ، يتعين علينا تعديل الكود. التغييرات في إعلان المثيل ملف والذي يصبح صفيفا من الملفات المحددة. يجب أن نطلب أيضا من JFileChooser منحنا إمكانية تحديد عدة ملفات باستخدام  setMultiSelectionEnabled().

final JFileChooser fc = JFileChooser الجديد (); 
fc.setMultiSelectionEnabled(true)
Open.addActionListener(جديد ActionListener() {
@Override
إجراء الفراغ العام Perform(ActionEvent arg0) {
// TODO كعب طريقة تم إنشاؤها تلقائيا
int val_retour = fc.showOpenDialog(نافذة);

إذا كان (val_retour == JFileChooser.APPROVE_OPTION) {
File[] file = fc.getSelectedFiles();
//Loop الذي يمر عبر مجموعة files
for(File f:file){
System.out.println("اسم الملف: "+f.getName()+"\n");
System.out.println("المسار المطلق: "+f.getAbsolutePath()+"\n");
}
} آخر {
System.out.println("تم إلغاء الافتتاح\n");
}
}
})؛
< / pre>وقت التشغيل :

< pre class = "prettyprint lang-java" > اسم الملف : decTo Binaire.cpp
المسار المطلق : C : \ المستخدمون \ VAIO \ المستندات \ CC ++ \ decTo Binaire.cpp

اسم الملف : decalage_tableau.cpp
المسار المطلق : C : \ المستخدمون \ VAIO \ المستندات \ CC ++ \ decalage_tableau.cpp

اسم الملف : determinant_matrice.cpp
المسار المطلق: C: \ المستخدمون \ VAIO \ المستندات \ CC ++ \ determinant_matrice.cpp

اسم الملف : equation-1-degre.cpp
المسار المطلق : C : \ المستخدمون \ VAIO \ المستندات \ CC ++ \ equation-1-degre.cpp
< / pre> المراجع :
إنشاء مكونات JMenuBar: JMenuBar< / a>
Java Doc: showOpenDialog method