Эта Jpanel может динамически загружать изображение в качестве фона.
Скопируйте код кода следующим образом:
импортировать java.awt.Graphics;
импортировать java.awt.Image;
импортировать java.awt.Toolkit;
импортировать javax.swing.JPanel;
/**
* Jpanel, который может динамически загружать изображение в качестве фона.
*/
публичный класс ImagePanel расширяет JPanel{
Изображение им;
//Конструктор определяет размер Jpanel
public ImagePanel(Image im) {
this.im = я;
//Надеюсь, размер панели можно будет адаптировать
int width = Toolkit.getDefaultToolkit().getScreenSize().width;
int height = Toolkit.getDefaultToolkit().getScreenSize().height;
this.setSize(ширина,высота);
}
//Рисуем фон
@Override
protected void PaintComponent(Graphics g) {
// очистить экран
супер.paintComponent(г);
g.drawImage(im, 0, 0, this.getWidth(), this.getHeight(), this);
}
}
Еще один пример установки фонового изображения на панели JPanel.
Скопируйте код кода следующим образом:
импортировать java.awt.*;
импортировать javax.swing.*;
Публичный класс Demo расширяет JFrame
{
общественноеДемо()
{
супер("Название");
NewPanel p = новая NewPanel();
this.getContentPane().add(p); //Добавляем панель в JFrame
this.setSize(596,298); //Начальный размер окна
this.setLocationRelativeTo(null); //Устанавливаем центрирование окна
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(истина);
}
public static void main(String[] args)
{
новая демонстрация();
}
класс NewPanel расширяет JPanel
{
общедоступная НоваяПанель()
{
}
public void PaintComponent (Графика g)
{
интервал х=0,у=0;
java.net.URL imgURL=getClass().getResource("test.jpg");
//test.jpg — тестовое изображение, расположенное в том же каталоге, что и Demo.java.
Значок ImageIcon = новый 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().ширина)
{
х=0;
y+=icon.getIconHeight();
}
еще
х+=icon.getIconWidth();
}
}
}
}