كيفية فتح ملف واحد أو أكثر باستخدام 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>
< / 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 = "الفاصل" النمط = "واضح: كلاهما ؛ محاذاة النص: الوسط؛" >
< / a>< / div>
الشاشة الطرفية بعد النقر فوق "فتح":
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 = "الفاصل" النمط = "واضح: كلاهما ؛ محاذاة النص: الوسط؛" >

الشاشة الطرفية بعد النقر فوق "فتح":
اسم الملف: 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