Manipulasi JFileChooser bagian-2 (buat text)


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!!!

😉

Iklan

3 pemikiran pada “Manipulasi JFileChooser bagian-2 (buat text)

  1. Ping balik: Belajar JaVa « WAHYU FIGHTER

  2. Ping balik: Tutorial Java dari Eko Kurniawan Khannedy « nge-WP@net

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s