Komponen Swing : Menggunakan JFileChooser dan Menampilkan Isi File di JTextArea

Oleh : Reza Ervani

بسم الله الرحمن الرحيم

Pada tutorial ini kita akan melihat cara penggunaan JFileChooser pada Swing di Eclipse

Pertama-tama kita buat terlebih dahulu tombol lengkap dengan eventhandlernya seperti berikut :

Screenshot from 2014-06-17 15:38:14

Kodenya tampak seperti berikut :

package com.eclipseprogramming.UploadFile;

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JTextArea;
import javax.swing.JButton;

import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;

public class UploadForm extends JFrame {

 private JPanel contentPane;
 private JFileChooser fileChooser;
 private BufferedReader br;
 private File file;
 int returnVal;
 String currentLine;

 /**
 * Launch the application.
 */
 public static void main(String[] args) {
 EventQueue.invokeLater(new Runnable() {
 public void run() {
 try {
 UploadForm frame = new UploadForm();
 frame.setVisible(true);
 } catch (Exception e) {
 e.printStackTrace();
 }
 }
 });
 }

 /**
 * Create the frame.
 */
 public UploadForm() {
 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 setBounds(100, 100, 529, 360);
 contentPane = new JPanel();
 contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
 setContentPane(contentPane);
 contentPane.setLayout(null);

 JTextArea txtrPenampil = new JTextArea();
 txtrPenampil.setText("Penampil");
 txtrPenampil.setBounds(26, 17, 353, 239);
 contentPane.add(txtrPenampil);

 JButton btnPilihFile = new JButton("PILIH FILE");
 btnPilihFile.setBounds(387, 12, 117, 25);
 contentPane.add(btnPilihFile);

 }
}

Sekarang mari kita berikan komponen JFileChooser seperti berikut :


btnPilihFile.addActionListener(new ActionListener() {
 public void actionPerformed(ActionEvent e) {

 fileChooser = new JFileChooser();

Agar JFileChooser muncul saat button diklik berikan kode berikut :


 if(e.getSource() == btnPilihFile) {

 returnVal = fileChooser.showOpenDialog(null);

Untuk menangkap nilai keluaran ketika seseorang memilih file kita pasangkan kode seperti ini

if(returnVal == JFileChooser.APPROVE_OPTION) { file = fileChooser.getSelectedFile(); 

Selanjutnya kita baca file tersebut dan tempatkan di buffered


try { br = new BufferedReader(new FileReader(file));

Tampilkan di JTextArea :


 txtrPenampil.read(br, null);

Jangan lupa tutup Buffer dengan kode berikut :


br.close();

Terakhir tutup blok dengan catch untuk menangkap eksepsi jika terjadi

 } catch (Exception error) { error.printStackTrace(); } } } } }); 

Seluruh kode akan tampak seperti berikut :

package com.eclipseprogramming.UploadFile;

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JTextArea;
import javax.swing.JButton;

import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;

public class UploadForm extends JFrame {

 private JPanel contentPane;
 private JFileChooser fileChooser;
 private BufferedReader br;
 private File file;
 int returnVal;
 String currentLine;

 /**
 * Launch the application.
 */
 public static void main(String[] args) {
 EventQueue.invokeLater(new Runnable() {
 public void run() {
 try {
 UploadForm frame = new UploadForm();
 frame.setVisible(true);
 } catch (Exception e) {
 e.printStackTrace();
 }
 }
 });
 }

 /**
 * Create the frame.
 */
 public UploadForm() {
 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 setBounds(100, 100, 529, 360);
 contentPane = new JPanel();
 contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
 setContentPane(contentPane);
 contentPane.setLayout(null);

 JTextArea txtrPenampil = new JTextArea();
 txtrPenampil.setText("Penampil");
 txtrPenampil.setBounds(26, 17, 353, 239);
 contentPane.add(txtrPenampil);

 JButton btnPilihFile = new JButton("PILIH FILE");

 btnPilihFile.addActionListener(new ActionListener() {
 public void actionPerformed(ActionEvent e) {

 fileChooser = new JFileChooser();

 //Jika event yang terjadi berasal dari tombol btnPilihFile
 if(e.getSource() == btnPilihFile) {

 //Membuat FileChooser visible di layar
 returnVal = fileChooser.showOpenDialog(null);

 //Jika Seseorang Memilih File
 if(returnVal == JFileChooser.APPROVE_OPTION) {

 //Jika File yang dipilih sama dengan file yang kita tentukan
 file = fileChooser.getSelectedFile();

 //Membaca file
 try {
 br = new BufferedReader(new FileReader(file));
 txtrPenampil.read(br, null);
br.close();

 } catch (Exception error) {
 error.printStackTrace();

 }

 }

 }
 }
 });

 btnPilihFile.setBounds(387, 12, 117, 25);
 contentPane.add(btnPilihFile);

 }
}

Jika kita jalankan program akan tampak seperti berikut :

Screenshot from 2014-06-17 15:40:12

 

Saat kita klik tombol maka akan muncul seperti berikut

Screenshot from 2014-06-17 15:40:20

Ketika kita pilih OK, maka isi file akan ditampilkan seperti berikut :

Screenshot from 2014-06-17 15:40:32

Selamat mencoba (reza@rumahilmu.or.id)

About Reza Ervani 430 Articles
Adalah pendiri programming.rezaervani.com -

Be the first to comment

Leave a Reply

Your email address will not be published.


*


This site uses Akismet to reduce spam. Learn how your comment data is processed.