Manipulasi JFileChooser bagian-2 (buat text)

2008 Juli 5

pada tutorial bagian 1, kita telah membuat ImageChooser, yaitu JFileChooser yang dimanipulasi untuk menampilkan gambar. nah sekarang kita akan membuat JFileChooser yang dapat menampilkan plain text, atau bisa dibilang kita akan membuat TextChooser.

saat ini tak akan ada banyak penjelasan, karena hampir seluruh fungsinya telah saya jelaskan di bagian satu. mungkin saat ini kita akan menggunakan Java IO untuk meload teks sebuah file, jadi jika anda belum mengerti soal Java IO, lebih baik anda skip dulu tutorial ini, beralih dulu ke tutorial Java IO, lalu balik lagi kesini.

OK, pertama kita buat FileFilter untuk menampilkan File Text, seperti .txt, .html, .htm, .java, and so on…

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

public class TextFilter extends FileFilter {

    @Override
    public boolean accept(File f) {
        if (f.isDirectory()) {
            return true;
        }
        String name = f.getName().toUpperCase();
        if (name.endsWith(”.TXT”) ||
                name.endsWith(”.JAVA”) ||
                name.endsWith(”.HTML”) ||
                name.endsWith(”.HTM”) ||
                name.endsWith(”.CSS”) ||
                name.endsWith(”.JS”) ||
                name.endsWith(”.CPP”) ||
                name.endsWith(”.C”) ||
                name.endsWith(”.CS”) ||
                name.endsWith(”.PAS”) ||
                name.endsWith(”.ASP”) ||
                name.endsWith(”.PHP”) ||
                name.endsWith(”.JSP”) ||
                name.endsWith(”.XML”)) {
            return true;
        }
        return false;
    }

    @Override
    public String getDescription() {
        return “Plain Text File”;
    }
}

sekarang kita buat TextChoosernya :

import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import javax.swing.JFileChooser;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

public class TextChooser extends JFileChooser {

    private JTextArea area;

    public TextChooser() {
        super();
        setFileFilter(new TextFilter());

        area = new JTextArea();
        area.setEditable(false);

        JScrollPane pane = new JScrollPane(area);

        JPanel panel = new JPanel(new java.awt.BorderLayout());
        panel.setPreferredSize(new java.awt.Dimension(300, 300));
        panel.add(pane);

        setAccessory(panel);

        addPropertyChangeListener(JFileChooser.SELECTED_FILE_CHANGED_PROPERTY, new PropertyChangeListener() {

            public void propertyChange(PropertyChangeEvent evt) {
                if (getSelectedFile() != null) {
                    if (!getSelectedFile().isDirectory()) {
                        BufferedReader reader = null;
                        try {
                            reader = new BufferedReader(new InputStreamReader(new FileInputStream(getSelectedFile())));
                            String temp = null;
                            area.setText(”");
                            while ((temp = reader.readLine()) != null) {
                                area.append(temp + “n”);
                            }
                        } catch (IOException ex) {
                            ex.printStackTrace();
                        } finally {
                            if (reader != null) {
                                try {
                                    reader.close();
                                } catch (IOException ex) {
                                    ex.printStackTrace();
                                }
                            }
                        }
                    }
                }
            }
        });

    }
}

dibawah ini adalah contoh penggunaan TextChooser :

image

image

hahahaa, ternyata JFileChooser itu menarik yach…

see you at next trix

Rock with Java!!!

;)

2 Responses leave one →

Trackbacks & Pingbacks

  1. Belajar JaVa « WAHYU FIGHTER
  2. Tutorial Java dari Eko Kurniawan Khannedy « nge-WP@net

Leave a Reply

Note: You can use basic XHTML in your comments. Your email address will never be published.

Berlangganan umpan komentar ini melalui RSS