
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 :
Kodenya tampak seperti berikut :
[code language=”java”]
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);
}
}
[/code]
Sekarang mari kita berikan komponen JFileChooser seperti berikut :
[code language=”java”]
btnPilihFile.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
fileChooser = new JFileChooser();
[/code]
Agar JFileChooser muncul saat button diklik berikan kode berikut :
[code language=”java”]
if(e.getSource() == btnPilihFile) {
returnVal = fileChooser.showOpenDialog(null);
[/code]
Untuk menangkap nilai keluaran ketika seseorang memilih file kita pasangkan kode seperti ini
[code language=”java”]
if(returnVal == JFileChooser.APPROVE_OPTION) { file = fileChooser.getSelectedFile();
[/code]
Selanjutnya kita baca file tersebut dan tempatkan di buffered
[code language=”java”]
try { br = new BufferedReader(new FileReader(file));
[/code]
Tampilkan di JTextArea :
[code language=”java”]
txtrPenampil.read(br, null);
[/code]
Jangan lupa tutup Buffer dengan kode berikut :
[code language=”java”]
br.close();
[/code]
Terakhir tutup blok dengan catch untuk menangkap eksepsi jika terjadi
[code language=”java”] } catch (Exception error) { error.printStackTrace(); } } } } }); [/code]
Seluruh kode akan tampak seperti berikut :
[code language=”java”]
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);
}
}
[/code]
Jika kita jalankan program akan tampak seperti berikut :
Saat kita klik tombol maka akan muncul seperti berikut
Ketika kita pilih OK, maka isi file akan ditampilkan seperti berikut :
Selamat mencoba (reza@rumahilmu.or.id)
Leave a Reply