Manipulasi JPanel (Bagian 1)

Alhamdulillah bisa kembali posting lagi… terutama tentang JAVA. Walaupun aku seorang newbie semoga aja dengan posting ini dapat berguna bagi diriku sendiri sebagai wahana belajar, dan berguna bagi orang banyak…! Amin…! Nah, gak ada salahnya bila aku mengucapkan terima kasih terlebih dahulu kepada sang Maestro JAVA dari Jawa Barat, Echo Kurniawan Kenedy yang telah berkenan sharing pengetahuan tentang JAVA.

Langsung saja, kali ini mo nulis tentang manipulasi JPanel. Karena lumayan panjang tentang banyaknya bagian-bagian panel yang dapat dimanipulasi, maka kali ini aku akan ngebahas tentang manipulasi JPanel. Pada bagian pertama ini akan aku bahas bagaimana membuat background gambar pada JPanel. Sebelum kita bahas… berikut ini adalah sourcecode yang dapat kita gunakan untuk membuat JPanel terlihat mempunyai background 😀

/*
 * Sourcecode berikut terbuka untuk umum
 * Semua orang diperkenankan memanfaatkan kode ini
 * Tanpa dipungut biaya apapun alias gratis
 * Akan tetapi segala resiko tanggung sendiri
 * Happy coding...
 */

package Komponen;

import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.JPanel;

/**
 *
 * @author farazinux
 */
public class PanelGambar extends JPanel {
    
    private Image image;

    public PanelGambar() {
        image = new ImageIcon(getClass().getResource("/Gambar/image1.jpg")).getImage();
    }

    @Override
    protected void paintComponent(Graphics g) {
        super.paintComponent(g);

        Graphics2D gd = (Graphics2D) g.create();
        gd.drawImage(image, 0, 0, getWidth(), getHeight(), null);
        
        gd.dispose();

    }
}

Nah, bagi yang udah jelas atau yang udah paham, gak ada baiknya juga baca kelanjutan tulisan saya, siapa tahu juga bermanfaat (kalau nggak bagi ente mungkin bagi saya) 😀

Sourcecode di atas yang sangat simple merupakan class yang berguna untuk memanipulasi JPanel. Langkah untuk membuatnya adalah dengan membuat Class baru kemudian di extend kan pada JPanel. Artinya Class ini akan mengakomodir tentang JPael.

    public PanelGambar() {
        image = new ImageIcon(getClass().getResource("/Gambar/image1.jpg")).getImage();
    }

Pada kode di atas, artinya background JPanel berupa image. pemanggilan Image ada di paket Gambar dengan nama gambar image1.jpg. Jika anda menempatkan pada lokasi yang berbeda maka tentukan lokasi yang sesuai dengan kriteria. 😀 Nah, selanjutnya kita lanjutkan pada penggambaran pada JPanel. Perhatikan potongan kode berikut :

@Override
    protected void paintComponent(Graphics g) {
        super.paintComponent(g);

        Graphics2D gd = (Graphics2D) g.create();
        gd.drawImage(image, 0, 0, getWidth(), getHeight(), null);
        
        gd.dispose();

    }

Pada potongan baris code di atas, menunjukkan bahwa penggambaran (paintComponent) dilakukan dengan dioveride. Penggambaran dengan memanfaatkan Graphic2D, dan jangan lupa gd harus didispose (ditutup) pada akhir overide. pada potongan program :

gd.drawImage(image, 0, 0, getWidth(), getHeight(), null);

Image berada pada posisi awal 0, 0, ini menunjukkan bahwa gambar akan dipasang mulai titik koordinat 0 atas dan 0 samping pada JPanel, gambar akan disesuaikan (mengikuti) JPanel, ini ditentukan dengna getWidth(), getHeight().

Nah, setelah Class ini paham dan terbentuk dengan OKE, maka tinggal buat JFrame baru kemudian pasanglah pada JFrame yang kita buat tadi. Maka JFrame akan dipasang JPanel yang memiliki Background berupa gambar. 😀 Selamat mencoba happy coding with Java, and see you next time….!

Iklan

2 comments on “Manipulasi JPanel (Bagian 1)

  1. Ping-balik: Manipulasi JPanel (Bagian 2) ~ Membuat JPanel Semi Transparan « Blog Biasa Pengen Jadi Luar Biasa

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s