2012-10-22 12 views
5

Tek bir kareye resim eklemeye çalışıyorum ama çalışmıyor gibi görünüyor. Belirtilen dosyadan bir ImageIcon tarafından oluşturulan görüntü. Görüntü dosyası dikiş dizininde java dosyası var. senin simgesi TimeFrame java dosyasının yanında iseJFrame'e ImageIcon nasıl eklenir?

import java.awt.BorderLayout; 

import javax.swing.ImageIcon; 
import javax.swing.JFrame; 
import javax.swing.JLabel; 

    public class image { 

     public static void main(String args[]) 
     { 
      TimeFrame frame = new TimeFrame(); 
     } 
    } 

    class TimeFrame extends JFrame 
    { 
     //Image icon = Toolkit.getDefaultToolkit().getImage("me.jpg"); 
     ImageIcon icon = new ImageIcon("me.jpg"); 
     JLabel label = new JLabel(icon); 
     public TimeFrame(){ 
      this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
      setTitle("My Frame"); 
      setSize(500,400); 
      //this.setIconImage(icon); 
      add(label,BorderLayout.CENTER); 
      setVisible(true); 
     } 


    } 
+0

[projenize GÖRÜNTÜLER ADD] Nasıl bir göz (http://stackoverflow.com/a/9866659/1057230 Lütfen dizini değiştirin) ve bu [cevap] (http://stackoverflow.com/a/11372350/1057230) daha fazla açıklama için el ile yapıyorsanız (IDE olmadan). –

cevap

5

, kullanmak gerekir

java.net.URL imgUrl = getClass().getResource("me.jpg"); 
ImageIcon icon = new ImageIcon(imgUrl); 

veya

java.net.URL imgUrl = TimeFrame.class.getResource("me.jpg"); 
ImageIcon icon = new ImageIcon(imgUrl); 

Sen (muhtemelen) şu anda çalışma dizininde aradığınız

hangi size

+0

Dokümantasyonda olduğu gibi getResource (...) Belirli bir ada sahip bir kaynak bulur. Bu adla bir kaynak bulunamazsa, bu yöntem null değerini döndürür ... ancak yine de neden daha önce çalışmadığından emin değilim ... Bunu kullandım ve iyi çalıştı: Resim görüntüsü = ImageIO.read (yeni Dosya (") SydneyOperaHouse.jpg ")); – Bernard

4

Bunu deneyecek misin?

ImageIcon ImageIcon = new ImageIcon("me.jpg"); 
    Image Image = ImageIcon.getImage(); 
    this.setIconImage(Image); 
+0

Ekim 23 00:24:38 Macbook Pro.local Java [592] : CGContextGetCTM: geçersiz içerik 0x0 Ekim 23 00:24:38 Macbook Pro.local Java [592] : CGContextSetBaseCTM: geçersiz içerik 0x0 Ekim 23 00:24:38 Macbook Pro.local java [592] : CGContextGetCTM: geçersiz bağlam 0x0 23 Ekim 00:24:38 Macbook Pro.local java [592] : CGContextSetBaseCTM: burada geçersiz bağlam 0x0 – Bernard

+0

olduğunu hata şimdi alıyorum! – Bernard

1

Basitçe "src/me.jpg"