لمحة جافاوية 34: كيف أختار نوع معين من الملفات

السلام عليكم

كيف حالكم هناك
(هذه الجملة مقتبسة من كلام هنري التاسع عشر في روايات سفاري)
بيسلم عليكم الأخ كايزن
وبيقول لكم لازم تمروا على علاء الصغير
وتدفعوا الحساب الذي عليكم
أي حساب؟
ماذا ألم أخبركم أن الخواجة كايزن
كان يستثمر في اللمحات الذي ساعدني في كتابتها
بالمناسبة كايزن لا يقبل إلا بالدولار
على العموم أسماؤكم عنده وهو يعرف كيف يأخذ نقوده
من أين له بأسمائكم؟
أنا أعطيته إياها
من أين لي بأسمائكم؟
يبدو أني لست الوحيد الذي ينسى
أخذها منكم الأخ عبده في قابل للمقارنة
دبروا أموركم وتجهزوا
فالأخ كايزن لا يرضى إلا بالكثير
دعونا من حسابكم مع الأخ كايزن
تعالوا نتكلم عن لمحة اليوم
ببساطة نريد أن نضيف JFileChooser
لكن لا نريده بالشكل الافتراضي
نريد منه أن لا يقبل غير ملفات معينة نحددها له
في البداية افتحوا بيئة العمل التي تعملون عليها
أنا طبعاً أفضل الحج eclipse
وأكره بشده الصايع netbeans
لماذا؟
لأن هناك تار قديم بين عيلتي وعيلة netbeans
ماهذه الأسئلة الذكية
بالطبع لأن الذاكرة لدي 256 ميغا
والأخ netbeans لا يكف عن التهام الذاكرة
افتحوا مشروع جديد للتجربة
بعد أن ذكرنا المقادير إليكم طريقة العمل
1- نقوم بإنشاء فئة أياً كان اسمها واجعلها ترث FileFilter
هذه الشيفرة الخاصة بي في برنامج منبه الفجر

import java.io.File;
import javax.swing.*;
import javax.swing.filechooser.*;

public class AudioFilter extends FileFilter {

    public final static String mp3 = "mp3";
    public final static String wav = "wav";

    public static String getExtension(File f) {
        String ext = null;
        String s = f.getName();
        int i = s.lastIndexOf('.');

        if (i > 0 &&  i < s.length() - 1) {
            ext = s.substring(i+1).toLowerCase();
        }
        return ext;
    }

    //Accept all directories and all mp3, wav, or png files.
    public boolean accept(File f) {
        if (f.isDirectory()) {
            return true;
        }

        String extension = getExtension(f);
        if (extension != null) {
            if (extension.equals(mp3) ||
                extension.equals(wav)) {
                    return true;
            } else {
                return false;
            }
        }

        return false;
    }

    //The description of this filter
    public String getDescription() {
        return "mp3 or wav";
    }
}

2- نضيف جملتين للكائن fc والذي قمنا بإنشائه مسبقاً
ماذا لم نقم بإنشائه
لماذا يعتقد البعض أني مدرس خصوصي؟
ابحث عنها يا بني
الجملتين هما كالتالي

//Add a custom file filter and disable the default
//(Accept All) file filter.
fc.addChoosableFileFilter(new AudioFilter());
fc.setAcceptAllFileFilterUsed(false);

بهذا نكون أنهينا هذه اللمحة
أتمنى أن تكونوا استفدتم
أريد أن أهمس في آذانكم بشيء قبل أن أختم
هل أنا سيء في مقالاتي لهذه الدرجة
أنا لا أرى شيء منكم كتشجيع
اسألوني انتقدوني
أما أن تبقوا ساكتين هكذا
فهذا يشعرني بالذنب
وكأني قتلت أباءكم

المراجع:
1- مثال من الدروس الخاصة بصن
http://java.sun.com/docs/books/tutorial/uiswing/examples/components/index.html#FileChooserDemo2
2- برنامج مواعيدي (لحد الآن البرنامج غير جاهز)
تحياتي

Tags: , , , , , ,

2 تعليقان to “لمحة جافاوية 34: كيف أختار نوع معين من الملفات”

  1. يقول م / انس حمو " مهندس كمبيوتر سابقا " - " مهندس نظم امنية حاليا ":

    وهي تشيجع مني وهاد الموضوع دخت عبال ما الاقيه لانو كان بلزمني كتير ايام الميديا بلاير فاكره يا علوش

    وتشكر ع الجهد

  2. يقول admin:

    منور يا باشمهندس
    بالمناسبة ايش الأسماء الجميلة هادي
    اه فاكره وهيه هادي حاجات تنتسى
    والله مشتاقين لأيامك الحلوة
    حبيبي يا باشا
    وسلم على الدب حودة

    تحياتي

Leave a Reply