يمكن لـ Jpanel تحميل الصورة ديناميكيًا كخلفية
انسخ رمز الكود كما يلي:
استيراد java.awt.Graphics؛
import java.awt.Image;
import java.awt.Toolkit;
import javax.swing.JPanel;
/**
* لوحة Jpanel يمكنها تحميل الصورة ديناميكيًا كخلفية
*/
الطبقة العامة ImagePanel تمتد JPanel {
صورة ايم؛
// يحدد المنشئ حجم Jpanel
صورة عامة (صورة ايم) {
this.im = im;
// آمل أن يكون حجم اللوحة قابلاً للتكيف
int width = Toolkit.getDefaultToolkit().getScreenSize().width;
int height = Toolkit.getDefaultToolkit().getScreenSize().height;
this.setSize(width,height);
}
// ارسم الخلفية
@تجاوز
مكون الطلاء الفارغ المحمي (الرسومات g) {
// شاشة واضحة
super.paintComponent(g);
g.drawImage(im, 0, 0, this.getWidth(), this.getHeight(), this);
}
}
مثال آخر لإعداد صورة خلفية في لوحة JPanel
انسخ رمز الكود كما يلي:
import java.awt.*;
استيراد javax.swing.*;
العرض التوضيحي للطبقة العامة يمتد إلى JFrame
{
عرض عام ()
{
سوبر("العنوان");
NewPanel p = new NewPanel();
this.getContentPane().add(p); // أضف اللوحة إلى JFrame
this.setSize(596,298); //الحجم الأولي للنافذة
this.setLocationRelativeTo(null); // اضبط النافذة ليتم توسيطها
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
الفراغ العام الثابت الرئيسي (String[] args)
{
عرض جديد();
}
فئة NewPanel تمتد JPanel
{
NewPanel العامة ()
{
}
مكون الطلاء الفراغي العام (الرسومات g)
{
int x=0,y=0;
java.net.URL imgURL=getClass().getResource("test.jpg");
//test.jpg هي صورة اختبارية، موضوعة في نفس الدليل مثل Demo.java
ImageIcon icon=new ImageIcon(imgURL);
g.drawImage(icon.getImage(),x,y,getSize().width,getSize().height,this);
بينما (صحيح)
{
g.drawImage(icon.getImage(),x,y,this);
if(x>getSize().width && y>getSize().height)break;
// يهدف هذا الرمز إلى التأكد من أنه عندما تكون النافذة أكبر من الصورة، لا يزال بإمكان الصورة تغطية النافذة بأكملها.
إذا(x>getSize().width)
{
س=0;
y+=icon.getIconHeight();
}
آخر
x+=icon.getIconWidth();
}
}
}
}