Ce Jpanel peut charger dynamiquement une image en arrière-plan
Copiez le code comme suit :
importer java.awt.Graphics ;
importer java.awt.Image ;
importer java.awt.Toolkit ;
importer javax.swing.JPanel ;
/**
* Un Jpanel capable de charger dynamiquement une image en arrière-plan
*/
la classe publique ImagePanel étend JPanel{
Image je suis;
//Le constructeur détermine la taille de Jpanel
public ImagePanel (Image im) {
this.im = je suis;
//J'espère que la taille du panneau pourra être adaptative
int width = Toolkit.getDefaultToolkit().getScreenSize().width;
int hauteur = Toolkit.getDefaultToolkit().getScreenSize().height;
this.setSize(largeur,hauteur);
}
//Dessine l'arrière-plan
@Outrepasser
protected void paintComponent (Graphiques g) {
// effacer l'écran
super.paintComponent(g);
g.drawImage(im, 0, 0, this.getWidth(), this.getHeight(), this);
}
}
Un autre exemple de définition d'une image d'arrière-plan dans un panneau JPanel
Copiez le code comme suit :
importer java.awt.* ;
importer javax.swing.* ;
La démo de classe publique étend JFrame
{
publicDemo()
{
super("Titre");
NouveauPanel p = nouveau NouveauPanel();
this.getContentPane().add(p); //Ajouter le panneau au JFrame
this.setSize(596,298); //Taille initiale de la fenêtre
this.setLocationRelativeTo(null); //Définit la fenêtre pour qu'elle soit centrée
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
public static void main (String[] arguments)
{
nouvelle démo ();
}
la classe NewPanel étend JPanel
{
public NouveauPanel()
{
}
public void paintComponent (Graphiques g)
{
int x=0,y=0;
java.net.URL imgURL=getClass().getResource("test.jpg");
//test.jpg est une image de test, placée dans le même répertoire que Demo.java
ImageIcon icon=nouveau ImageIcon(imgURL);
g.drawImage(icon.getImage(),x,y,getSize().width,getSize().height,this);
tandis que (vrai)
{
g.drawImage(icon.getImage(),x,y,this);
if(x>getSize().width && y>getSize().height)break;
//Ce code garantit que lorsque la fenêtre est plus grande que l'image, l'image peut toujours couvrir toute la fenêtre.
si(x>getSize().width)
{
x=0 ;
y+=icon.getIconHeight();
}
autre
x+=icon.getIconWidth();
}
}
}
}