2013-04-03 4 views

Répondre

5

Try this :

import java.awt.Graphics; 
import java.awt.image.BufferedImage; 
import java.io.File; 
import java.io.IOException; 
import java.util.logging.Level; 
import java.util.logging.Logger; 
import javax.imageio.ImageIO; 
import javax.swing.JPanel; 

public class ImagePanel extends JPanel{ 

private BufferedImage image; 

public ImagePanel() { 
    try {     
     image = ImageIO.read(new File("image name and path")); 
    } catch (IOException ex) { 
     // handle exception... 
    } 
} 

@Override 
protected void paintComponent(Graphics g) { 
    super.paintComponent(g); 
    g.drawImage(image, 0, 0, null); // see javadoc for more info on the parameters    
} 

} 

et essayer de lire ce Example to display BufferedImage as ImageIcon

+0

Merci, cela m'a beaucoup aidé. – MQSJ23

+0

Vous êtes les bienvenus à tout moment :) –

1

Je ne sais pas en ce moment, mais je crois que vous devez faire une

BufferedImage image = ImageIO.read(new File("image path")); 
ImageIcon img = new ImageIcon(image); 
img.setVisible(true); 
add(img); 

dans le constructeur. Je ne me souviens pas maintenant et je n'ai pas le compilateur à la main pour tester, mais c'est comment j'ajouter des images au panneau normalement et le juste appeler super.repaint(); au besoin.

Editer: Je crois que repaint(); fera aussi l'affaire.