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.

[java]

Icon icon = new ImageIcon(file path);

JLabel label = new JLabel;

label.setIcon(icon);

[/java]

Script lengkapnya sebagai berikut

[java]

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;
}

[/java]

semoga bermanfaat

Leave a Reply

Your email address will not be published. Required fields are marked *

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