Mengolah JFileChooser Untuk 'Open Dialog' Dan 'Save Dialog' Pada File Image
Table of Contents
Jika pada AWT terdapat FileDialog, pada Swing pun tidak mau ketinggalan. Karena pada Swing juga terdapat fasilitas untuk membuat FileDialog, yaitu JFileChooser. Nantinya JFileChooser ini berguna untuk memilih berkas-berkas dengan spesifikasi tertentu, entah itu berkas file text, music, video, maupun image. Namun kali ini saya akan memberikan contoh bagaimana membat Open Dialog dan Save Dialog untuk memilih berkas Image.
Program contoh ini saya buat dengan Java GUI Builder untuk mempersingkat waktu. Teman-teman bisa membuat rancangan program serupa, atau bahkan bisa lebih baik dari program saya (^_^).
Komponen yang ada dalam program antara lain :
- Frame, dengan ukuran panjang 390 dan lebar 250
- JLabel1, nama variabelnya saya ganti menjadi judul. Label ini untuk menampung Judul program "Get Image"
- JLabel2, nama variabelnya saya ganti menjadi label. Untk menampung foto yang kita pilih lewat Open Dialog. Ukuran label tidak bisa mengikuti ukuran foto, justru fotonya lah yang mengikuti ukuran label.
- Button1, untuk memunculkan OpenDialog ketika diklik
- Button2, untuk memunculkan SaveDialog ketika diklik
Ini adalah rancangan program dalam Design Class.
Kemudian, klik dua kali pada button Open. Sekarang kita tuliskan code untuk membuat Open Dialog.
JFileChooser chooser = new JFileChooser("") ;
File filenya ;
BufferedImage foto ;
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
int buka_dialog = chooser.showOpenDialog(OpenSave.this);
if (buka_dialog == JFileChooser.APPROVE_OPTION) {
filenya = chooser.getSelectedFile();
// file = chooser.getSelectedFile();
try {
foto = ImageIO.read(filenya);
ImageIcon icon = new ImageIcon(foto);
label.setIcon(icon);
Dimension imageSize = new Dimension(icon.getIconWidth(), icon.getIconHeight());
label.setPreferredSize(imageSize);
label.revalidate();
label.repaint();
// panel1.createImage(paint(Graphics gr));
} catch (IOException e) {
System.out.println(e);
}
}
}
Alternatif source
JFileChooser chooser = new JFileChooser(""); File filenya; int buka_dialog = chooser.showOpenDialog(MainGUI.this); if (buka_dialog == JFileChooser.APPROVE_OPTION) { filenya = chooser.getSelectedFile(); // file = chooser.getSelectedFile(); BufferedImage img = null; try { img = ImageIO.read(new File(filenya.getPath())); path.setText(filenya.getPath()); } catch (IOException e) { e.printStackTrace(); } Image dimg = img.getScaledInstance(inputImage.getWidth(), inputImage.getHeight(), Image.SCALE_SMOOTH); ImageIcon imageIcon = new ImageIcon(dimg); inputImage.setIcon(imageIcon);
Setelah itu, ganti button Save yang diberikan code. Klik ganda pada button Save. Ini Source codenya
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
JFileChooser chooser = new JFileChooser();
chooser.setCurrentDirectory(new File("."));
int r = chooser.showSaveDialog(this);
if (r == JFileChooser.APPROVE_OPTION) {
File sf = chooser.getSelectedFile();
try {
ImageIO.write(foto, "png", sf);
} catch (Exception ex) {
System.out.println(ex);
}
}
}
Ini hasil programnya :
Kemudian klik Open untuk memilih foto yang akan ditampilkan pada Label. Lantas muncul Kotak Open Dialog. Pilih foto yang di inginkan, usahakan yang ukurannya pas dengan Label ya... (^_^)
Setelah foto dipilih... Jebrettt... Muncul deh..
Klik button Save untuk menyimpannya kembali. Lantas muncul Kotak Save Dialog, pilih direktori tempat foto akan disimpan. Jangan lupa untu mengisi nama file, ditambah dengan ekstensi file tersebut. Untuk image misalnya .jpg, .png, .gif dan lain-lain.
Setelah Save, cari tempat image tersebut disimpan, Jika disitu terdapat image tersebut. Maka, program ini telah sukses menjalankan tugasnya...
Jika teman-teman ingin minta source code programnya, jangan sungkan-sungkan, ini linknya...
Program Open Dialog dan Save Dialog
Semoga bermanfaat ya... !!!
Posted By