Arsip ‘image frame java’ Tag
Membuat background image pada Frame/Panel di Java
Post ini gw bwt atas request dari seseorang.. Ini mbak, buat background image di Form Java.
Pada swing di Java, tidak disediakan objek khusus untuk membuat background image, biasanya orang2 banyak menggunakan JLabel, dan mengatur di property imageicon untuk bisa membuat suatu halaman bergambar. Nah, masalahnya objek di Java tidak bisa ditimpa dengan objek lainnya, jadi kita tidak bisa meletakkan button di atas label, atau yang lainnya. Background pada frame/panel bisa kita akali dengan membuat suatu kelas baru yang nantinya kita gunakan pada kelas panel yang ingin kita isi (tampilan menu utama). Langkah-langkahnya sebagai berikut:
- Buat sebuah kelas baru, dengan nama IsiPanel.java
package gui;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.MediaTracker;
import java.awt.Toolkit;
class IsiPanel extends javax.swing.JPanel {
/**
* @author : Fajar Saptono
**/
Image bgimage = null;
IsiPanel(String namaGambar){
if(namaGambar != null) {
MediaTracker mt = new MediaTracker(this);
bgimage = Toolkit.getDefaultToolkit().getImage(getClass().getResource(namaGambar));//namaGambar
mt.addImage(bgimage, 0);
try {
mt.waitForAll();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
protected void paintComponent(Graphics g) {
super.paintComponent(g);
if(bgimage != null) {
int imwidth = bgimage.getWidth(null);
int imheight = bgimage.getHeight(null);
if((imwidth > 0) && (imheight > 0)) {
for(int y = 0; y<getHeight(); y+=imheight) {
for(int x = 0; x<getWidth(); x+=imwidth) {
g.drawImage(bgimage, x, y, null);
}
}
}
}
}
- Kemudian pada konstruktor form utama, tambahkan kode berikut
setContentPane(new IsiPanel("img/bg.png"));
</span><span style="font-size:10pt;">
- Nah, kamu udah bikin kelas utama dengan background berisi gambar yang ada di path img/bg.png. Selamat mencobaJ
Komentar (2)



