Este Jpanel puede cargar dinámicamente una imagen como fondo.
Copie el código de código de la siguiente manera:
importar java.awt.Graphics;
importar java.awt.Imagen;
importar java.awt.Toolkit;
importar javax.swing.JPanel;
/**
* Un Jpanel que puede cargar dinámicamente una imagen como fondo.
*/
ImagePanel de clase pública extiende JPanel{
Imagen soy;
//El constructor determina el tamaño de Jpanel
Panel de imagen público (Imagen im) {
this.im = soy;
//Espero que el tamaño del Panel pueda ser adaptable.
int ancho = Toolkit.getDefaultToolkit().getScreenSize().width;
int altura = Toolkit.getDefaultToolkit().getScreenSize().height;
this.setSize(ancho,alto);
}
//dibuja el fondo
@Anular
Componente de pintura vacío protegido (Gráficos g) {
// borrar pantalla
super.paintComponent(g);
g.drawImage(im, 0, 0, this.getWidth(), this.getHeight(), this);
}
}
Otro ejemplo de configuración de una imagen de fondo en un panel JPanel
Copie el código de código de la siguiente manera:
importar java.awt.*;
importar javax.swing.*;
La demostración de clase pública extiende JFrame
{
demostración pública()
{
super("Título");
NuevoPanel p = nuevo NuevoPanel();
this.getContentPane().add(p); //Agrega el panel al JFrame
this.setSize(596,298); //Tamaño de ventana inicial
this.setLocationRelativeTo(null); //Establece la ventana para que esté centrada
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(verdadero);
}
principal vacío estático público (String [] argumentos)
{
nueva demostración();
}
clase NewPanel extiende JPanel
{
Nuevo panel público()
{
}
Componente de pintura pública vacía (Gráficos g)
{
intx=0,y=0;
java.net.URL imgURL=getClass().getResource("prueba.jpg");
//test.jpg es una imagen de prueba, ubicada en el mismo directorio que Demo.java
Icono de ImageIcon=nuevo ImageIcon(imgURL);
g.drawImage(icon.getImage(),x,y,getSize().width,getSize().height,this);
mientras (verdadero)
{
g.drawImage(icon.getImage(),x,y,this);
if(x>getSize().width && y>getSize().height)break;
// Este código es para garantizar que cuando la ventana sea más grande que la imagen, la imagen aún pueda cubrir toda la ventana.
si(x>getSize().ancho)
{
x=0;
y+=icon.getIconHeight();
}
demás
x+=icon.getIconWidth();
}
}
}
}