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 :
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 :
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.
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); } }
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.
kurang penjelasannya
BalasHapus