[Pemrograman]Membuat JFileChooser



Hello World !!
Salam super hehe pagi kali ini kita akan masih berkutat dengan komponen swing di java,swing sangat di perlukan dalam pembuatan GUI di java. nah pada kesempatan kali ini kita akan membuat FileChooser di java ,apa itu FileChooser ? nah tentunya sobat sering kan mengambil file dari dalam folder untuk pembuatan aplikasi ,saya contohin saja seumpamanya kita mau mengambil gambar dari dalam folder/file di dalam komputer kita ,nah kita memakai filechooser .
Berikut sourcecode nya biar bisa sobat oprek sendiri

package javaswing.newbieilmu;

import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.filechooser.*;

import com.jtattoo.plaf.mcwin.McWinLookAndFeel;

/**
 * @author Anugrah Bagus Susilo
 */

public class FileChooserDemo extends JPanel implements ActionListener {
    static private final String newline = "\n";
    JButton openButton, saveButton;
    JTextArea log;
    JFileChooser fc;

    public FileChooserDemo() {
        super(new BorderLayout());

        // Buat log pertama, karena pendengar tindakan
        // perlu untuk merujuk ke sana.
        log = new JTextArea(5,20);
        log.setMargin(new Insets(5,5,5,5));
        log.setEditable(false);
        JScrollPane logScrollPane = new JScrollPane(log);

        //Buat sebuah file chooser
        fc = new JFileChooser();

        /*Uncomment salah satu baris berikut untuk mencoba modus seleksi file yang berbeda
        Yang pertama memungkinkan hanya direktori
        untuk dipilih (dan, setidaknya dalam Look And Feel,ditampilkan).
        Kedua memungkinkan kedua file dan direktori
        untuk dipilih. Jika Anda meninggalkan komentar baris ini,
        maka modus default (FILES_ONLY) akan digunakan.

        	fc.setFileSelectionMode (JFileChooser.DIRECTORIES_ONLY);
        	fc.setFileSelectionMode (JFileChooser.FILES_AND_DIRECTORIES);

        Buat Button Open. Kami menggunakan gambar dari JLF
        Graphics Repositori (tapi kita diekstraksi dari jar).*/
        openButton = new JButton("Open a File...",
                                 createImageIcon("image/baguz.jpg"));
        openButton.addActionListener(this);

        /*Buat Button Save. Kami menggunakan gambar dari JLF
        Graphics Repositori (tapi kita diekstraksi dari jar).*/
        saveButton = new JButton("Save a File...",
                                 createImageIcon("image/newbieilmu.jpeg"));
        saveButton.addActionListener(this);

        //Untuk keperluan Layout, Tempatkan Button di panel terpisah
        JPanel buttonPanel = new JPanel(); //Gunakan FlowLayout
        buttonPanel.add(openButton);
        buttonPanel.add(saveButton);

        //Tambahkan Button dan Log ke Panel ini.
        add(buttonPanel, BorderLayout.PAGE_START);
        add(logScrollPane, BorderLayout.CENTER);
    }

    public void actionPerformed(ActionEvent e) {

        //Menangani aksi Button Open.
        if (e.getSource() == openButton) {
            int returnVal = fc.showOpenDialog(FileChooserDemo.this);

            if (returnVal == JFileChooser.APPROVE_OPTION) {
                File file = fc.getSelectedFile();
                //Membuka aplikasi yang sebenarnya.
                log.append("Opening: " + file.getName() + "." + newline);
            } else {
                log.append("Open command cancelled by user." + newline);
            }
            log.setCaretPosition(log.getDocument().getLength());

            //Menangani aksi Button Save.
        } else if (e.getSource() == saveButton) {
            int returnVal = fc.showSaveDialog(FileChooserDemo.this);
            if (returnVal == JFileChooser.APPROVE_OPTION) {
                File file = fc.getSelectedFile();
              //Membuka aplikasi yang sebenarnya.
                log.append("Saving: " + file.getName() + "." + newline);
            } else {
                log.append("Save command cancelled by user." + newline);
            }
            log.setCaretPosition(log.getDocument().getLength());
        }
    }

    /** Returns an ImageIcon, or null if the path was invalid. */
    protected static ImageIcon createImageIcon(String path) {
        java.net.URL imgURL = FileChooserDemo.class.getResource(path);
        if (imgURL != null) {
            return new ImageIcon(imgURL);
        } else {
            System.err.println("Couldn't find file: " + path);
            return null;
        }
    }

    /**
     * Create the GUI and show it.  For thread safety,
     * this method should be invoked from the
     * event dispatch thread.
     */
    private static void createAndShowGUI() {
        //Buat dan atur Layar.
        JFrame frame = new JFrame("FileChooserDemo");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        //Tambahkan kontent ke Layar.
        frame.add(new FileChooserDemo());

        //Tampilkan ke Layar.
        frame.pack();
        frame.setVisible(true);
    }

    public static void main(String[] args) {
    	//Buat dan tampilkan aplikasi di GUI ini
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                try {
					UIManager.setLookAndFeel(new McWinLookAndFeel());
				} catch (UnsupportedLookAndFeelException e) {
				}
                createAndShowGUI();
            }
        });
    }
}

notes : Sebelumnya buatlah sebuah folder image di dalam project ,nah kita mengambil gambar dari folder itu

Seperti biasa saya sertakan juga Screenshot yang ada di desktop saya biar lebih memperjelas anda .

Selamat mencoba !! –Happy Coding–

Anugrah Bagus Susilo

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