2011-09-14 4 views

Répondre

3

Remplacer paintComponents (g)paintComponent(g) méthode de JPanel ou JLabel et dessiner l'image dedans. Quelque chose comme suit:

JPanel panel = new JPanel(){ 
     @Override 
     public void paintComponent(Graphics g) { 
      BufferedImage image = null; // get your buffered image. 
      Graphics2D graphics2d = (Graphics2D) g; 
      graphics2d.drawImage(image, 0, 0, null); 
      super.paintComponents(g); 
     } 
    }; 

Même chose pour JLabel. Ou d'une autre manière:

BufferedImage image = null; // get your buffered image. 
    ImageIcon icon = new ImageIcon((Image)image); 
    JLabel label = new JLabel(); 
    label.setIcon(icon); 

Comme vous dites que vous chargez l'image de FileChooser il peut être fait en suivant façon:

ImageIcon icon = new ImageIcon(
       fileChooser.getCurrentDirectory().toString() 
       +"/"+fileChooser.getSelectedFile().getName()); 

Maintenant, vous pouvez utiliser ImageIcon dans JLabel ou l'ajouter dans JPanel.


Le code ci-dessus est un exemple de code et n'a pas été testé, il n'est donc pas nécessaire de s'exécuter sans erreur. Vous devrez peut-être le modifier selon vos besoins.

+0

dans JLabe est correct! –

+2

@Harry Joy, Vous vouliez dire 'paintComponent', n'est-ce pas? – mre

+0

@mre: Non. Je veux dire "paintComponents". Je ne suis pas sûr que 'paintComponent' donnera le même effet ou non. –

Questions connexes