Loading Images in Jlabel

Tumben-tumbenan belajar java :D.

Oke lah karena padatnya kegiatan yang harus saya kerjakan belakangan ini, akhirnya sempet juga menjenguk blog tercinta ini 🙂

Kali ini saya iseng-iseng mencoba bahasa pemograman Java, yang dari dulu saya buta tentang bahasa yang satu ini. Ga ada salahnya mencoba, akhirnya saya iseng membuat program untuk me-load gambar menggunakan java. Dalam program ini saya menggunakan JfileChooser sebagai komponen untuk memilih gambar yang akan ditampilkan.

Agak kebingungan di awal ketika mencoba script ini, cari-cari tutorial cara menampilkan gambar, ternyata kata kuncinya adalah menggunakan JLabel dan ImageIcon. Jadi intinya adalah mengambil absolutepath dari file yang kita pilih dan ditampilkan pada ImageIcon.

Icon icon = new ImageIcon(file path);

JLabel label = new JLabel;

label.setIcon(icon);

Script lengkapnya sebagai berikut

package imageprocessing;

import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;

public class LoadImage extends JFrame implements ActionListener {
 public LoadImage() {
 setTitle("ImageViewer");
 setSize(800, 600);

JMenuBar mbar = new JMenuBar();
 JMenu m = new JMenu("File");
 openItem = new JMenuItem("Open");
 openItem.addActionListener(this);
 m.add(openItem);
 exitItem = new JMenuItem("Exit");
 exitItem.addActionListener(this);
 m.add(exitItem);
 mbar.add(m);
 setJMenuBar(mbar);

label = new JLabel();
 Container contentPane = getContentPane();
 contentPane.add(label, "Center");
 }

@Override
 public void actionPerformed(ActionEvent evt) {
 Object source = evt.getSource();
 if (source == openItem) {
 JFileChooser chooser = new JFileChooser();
 chooser.setCurrentDirectory(new File("."));

chooser.setFileFilter(new javax.swing.filechooser.FileFilter() {
 @Override
 public boolean accept(File f) {
 return f.getName().toLowerCase().endsWith(".png")
 || f.isDirectory();
 }

@Override
 public String getDescription() {
 return "PNG Images";
 }
 });

int r = chooser.showOpenDialog(this);
 if (r == JFileChooser.APPROVE_OPTION) {
 String name = chooser.getSelectedFile().getAbsolutePath();
 Icon icon = new ImageIcon(name);
 label.setIcon(icon);
 }
 } else if (source == exitItem) {
 System.exit(0);
 }
 }

public static void main(String[] args) {
 JFrame frame = new LoadImage();
 frame.show();
 }

private JLabel label;

private JMenuItem openItem;

private JMenuItem exitItem;
}

semoga bermanfaat