Jpanel ini dapat memuat gambar secara dinamis sebagai latar belakang
Copy kode kodenya sebagai berikut:
impor java.awt.Graphics;
impor java.awt.Gambar;
impor java.awt.Toolkit;
impor javax.swing.JPanel;
/**
* Jpanel yang secara dinamis dapat memuat gambar sebagai latar belakang
*/
ImagePanel kelas publik memperluas JPanel{
Gambar saya;
//Konstruktor menentukan ukuran Jpanel
Panel Gambar publik(Gambar gambar) {
ini.im = saya;
//Saya harap ukuran Panelnya bisa adaptif
int lebar = Toolkit.getDefaultToolkit().getScreenSize().width;
int tinggi = Toolkit.getDefaultToolkit().getScreenSize().height;
this.setSize(lebar,tinggi);
}
//Gambar latar belakangnya
@Mengesampingkan
Komponen cat kosong yang dilindungi (Grafik g) {
// bersihkan layar
super.paintComponent(g);
g.drawImage(saya, 0, 0, ini.getWidth(), ini.getHeight(), ini);
}
}
Contoh lain pengaturan gambar background di panel JPanel
Copy kode kodenya sebagai berikut:
import java.awt.*;
import javax.swing.*;
Demo kelas publik memperluas JFrame
{
Demo publik()
{
super("Judul");
Panel Baru p = Panel Baru baru();
this.getContentPane().add(p); //Tambahkan panel ke JFrame
this.setSize(596,298); //Ukuran jendela awal
this.setLocationRelativeTo(null); //Atur jendela agar berada di tengah
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(benar);
}
public static void main(String[] args)
{
Demo baru();
}
kelas NewPanel memperluas JPanel
{
Panel Baru publik()
{
}
Komponen Cat Void Publik (Grafik g)
{
ke dalam x=0,y=0;
java.net.URL imgURL=getClass().getResource("test.jpg");
//test.jpg adalah gambar uji, ditempatkan di direktori yang sama dengan Demo.java
Ikon GambarIkon=Ikon Gambar baru(imgURL);
g.drawImage(icon.getImage(),x,y,getSize().width,getSize().height,ini);
sementara (benar)
{
g.drawImage(icon.getImage(),x,y,ini);
if(x>getSize().width && y>getSize().height)break;
//Kode ini untuk memastikan bahwa ketika jendela lebih besar dari gambar, gambar masih dapat menutupi seluruh jendela.
jika(x>getSize().lebar)
{
x=0;
y+=icon.getIconHeight();
}
kalau tidak
x+=icon.getIconWidth();
}
}
}
}