Cara Menambahkan Background Image pada JPanel di Java Swing - Java Community

Cara Menambahkan Background Image pada JPanel di Java Swing

Artikel diperbaharui pada tanggal 11 April 2022

Cara Menambahkan Background Image pada JPanel di Java Swing - Cara mengubah default background pada JPanel dengan menambahkan gambar atau image berbeda dengan memberikan warna atau color pada background. Untuk memberikan warna pada suatu JPanel kalian hanya perlu memanggil method setBackground(Color bg).


Contoh untuk menambahkan warna pada background JPanel di Java Swing :

CODE
JPanel pan = new JPanel();
pan.setBackground(Color.BLUE);
  

Pada contoh diatas, kita memberikan warna biru pada background JPanel. Jika hanya sebatas menngubah warna background JPanel sangat mudah dilakukan. Namun bagaimana jika kita ingin menambahkan gambar pada background tersebut. Apakah cara yang serupa dapat kita gunakan, tentunya kita bisa melakukan dengan cara seperti diatas. Karena method setBackground tidak memiliki parameter image didalamnya hanya terdapat parameter Color.

Untuk menambahkan image pada background JPanel kalian perlu membuat sebuah class java turunan dari JPanel (extends JPanel). Misal class java tersebut saya beri nama PanelImage, PanelImage ini yang akan kita manipulasi atau melakukan make over didalamnya.

Berikut source code make over JPanel untuk menambahkan image atau gambar :

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

public class PanelImage extends JPanel{
    private final String url;

    public PanelImage(String url) {
        this.url = url;
    }
    
    @Override
    protected void paintComponent(Graphics g) {
        super.paintComponent(g);

        Image gambar = new ImageIcon(getClass().getResource(url)).getImage();

        Graphics2D g2 = (Graphics2D) g.create();
        g2.drawImage(gambar, 0,0,getWidth(),getHeight(), this);
        g2.dispose();
    }
}

Setelah itu buatlah sebuah JFrame dan panggil PanelImage.

CODE
import javax.swing.JFrame;

public class ContohBackgroundImage extends JFrame{
    
    public ContohBackgroundImage(){
        userInterface();
    }
    
    private void userInterface(){
        setTitle("Contoh Background Image");
        setSize(400, 300);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setLocationRelativeTo(null);
        
        getContentPane().add(new PanelImage("/com/community/images/background.jpg"));
    }
    
    public static void main(String[] args){
        ContohBackgroundImage obj = new ContohBackgroundImage();
        obj.setVisible(true);
    }
}
Catatan

Jika mengalami error atau image tidak tampil, pastikan url gambarnya sudah benar. Pada contoh diatas saya meletakan image background.jpg di package com.community.images, Silahkan sesuaikan dengan struktur package kalian.

Penting, Jika kalian membuat project-nya menggunakan maven akan terjadi error. Solusinya : letakkan image background.jpg di folder resources yang berada di maven project, kemudian untuk url-nya menjadi "/background.jpg"

Sekian tutorial cara menambahkan background image pada JPanel di Java Swing dengan melakukan make over. Silahkan tinggalkan komentar.

Subscribe to receive free email updates:

1 Response to "Cara Menambahkan Background Image pada JPanel di Java Swing"