Este Jpanel pode carregar dinamicamente uma imagem como plano de fundo
Copie o código do código da seguinte forma:
importar java.awt.Graphics;
importar java.awt.Image;
importar java.awt.Toolkit;
importar javax.swing.JPanel;
/**
* Um Jpanel que pode carregar dinamicamente uma imagem como plano de fundo
*/
classe pública ImagePanel estende JPanel{
Imagem im;
//O construtor determina o tamanho do Jpanel
public ImagePanel(Imagem im) {
isto.im = estou;
//Espero que o tamanho do Painel possa ser adaptativo
largura int = Toolkit.getDefaultToolkit().getScreenSize().width;
int altura = Toolkit.getDefaultToolkit().getScreenSize().height;
this.setSize(largura,altura);
}
//Desenha o fundo
@Substituir
protegido void paintComponent(Gráficos g) {
//limpa a tela
super.paintComponent(g);
g.drawImage(im, 0, 0, this.getWidth(), this.getHeight(), this);
}
}
Outro exemplo de configuração de imagem de fundo em um painel JPanel
Copie o código do código da seguinte forma:
importar java.awt.*;
importar javax.swing.*;
Demonstração de classe pública estende JFrame
{
demonstração pública()
{
super("Título");
NovoPainel p = new NovoPanel();
this.getContentPane().add(p); //Adiciona o painel ao JFrame
this.setSize(596,298); //Tamanho inicial da janela
this.setLocationRelativeTo(null); //Define a janela para ser centralizada
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(verdadeiro);
}
público estático void principal(String[] args)
{
nova demonstração();
}
classe NewPanel estende JPanel
{
NovoPainel público()
{
}
public void paintComponent(Gráficos g)
{
int x=0,y=0;
java.net.URL imgURL=getClass().getResource("test.jpg");
//test.jpg é uma imagem de teste, colocada no mesmo diretório que Demo.java
Ícone ImageIcon = novo ImageIcon (imgURL);
g.drawImage(icon.getImage(),x,y,getSize().width,getSize().height,this);
enquanto (verdadeiro)
{
g.drawImage(icon.getImage(),x,y,this);
if(x>getSize().width && y>getSize().height)break;
//Este código é para garantir que quando a janela for maior que a imagem, a imagem ainda possa cobrir toda a janela.
if(x>getSize().largura)
{
x=0;
y+=icon.getIconHeight();
}
outro
x+=icon.getIconWidth();
}
}
}
}