2012-06-28 21 views
8

Java ile çok basit bir oyun yapmaya çalışıyorum ve bir görüntüyü JFrame görüntülerken sorun yaşıyorum. Geçmişte benim için işe yaradı ve şimdi değil, yanlış yaptığımı göremiyorum.Java ImageIcon'u JLabel'e ekliyor

Geçerli çalışma dizinini yazdırmayı ve görüntümle eşleşecek yeri değiştirmeyi denedim. Bu problemin görüntüyü almamasi muhtemeldir, çünkü (filefinder veya filereader veya bunun gibi bir seyler) sorunsuz bir şekilde bulabilir, ancak JLabel'a (ImageIcon) ekleyemiyorum veya JFrame'a ekleyemiyorum.

Bu

JFrame frame = new JFrame("no image"); 
ImageIcon image = new ImageIcon("C:/Documents and Settings/user/Desktop/hi/xD/JavaApplication2/image.png"); 
JLabel imagelabel = new JLabel(image); 
frame.add(imagelabel); 

JFrame

setVisible(true) ve pack() oldu ... benim kodudur.

Birisi neyin yanlış olduğunu anlamama yardımcı olabilir.

+0

bu örneğe bir göz atın, [görüntüleri nasıl eklenir Projeniz için] (http://stackoverflow.com/questions/9864267/load-icon-image-exception/9866659#9866659) veya Lütfen aşağıdaki adımları izleyin (http: // ga gandeepbali.uk.to/gaganisonline/webpages/makejareclipse.html) –

+0

Bu örneklere baktım, yardım etmediler – user1486826

+0

Görselinizi .class dosyanızın yanına yerleştirin ve bunu ImageIcon image = new ImageIcon (getClass) gibi kullanın) .getResource ("yourImage.extension")) ;. Bu bağlantının çalışması gerekiyor, çünkü resimlerinizi projenize yerleştirmenin doğru yolu bu. Umarım belirtilen tüm adımları yürüdünüz! –

cevap

12

Sorununuz burada yatıyor:

ImageIcon image = new ImageIcon("C:/Documents and Settings/user/Desktop/hi/xD/JavaApplication2/image.png"); 
    JLabel imagelabel = new JLabel(character); 

Bir ImageIcon "görüntü" oluşturmak ancak "karakteri" ile JLabel oluşturun.

Olmalıdır:

JLabel imagelabel = new JLabel(image); 
+0

özür dilerim, benim asıl kodlarımda aynıdır, karakteri görüntü ile değiştirmeyi unuttum. – user1486826

3

deneyin

ImageIcon image = new ImageIcon("c:\\path\\image.png"); 
imagelabel = new JLabel(character, image, JLabel.CENTER); 
frame.add(imagelabel); 

rehberine de bir göz atın - How to use Icons

+0

Öğreticiye birçok kez baktım, yanlış yaptıklarımı göremiyorum. – user1486826

-1
import javax.awt.*; 
import java.awt.*; 
import java.awt.event*; 

//class name image 
class image { 
    image() 
    //constructor { 
     Frame f=new Frame("Image"); 
     //Frame 
     f.setSize(500,500); 
     f.setVisible(true); 
     Panel p =new Panel(); 
     //Panel 
     f.add(p); 
     p.addLayout(null); 
     ImageIcon ii=new ImageIcon("set your image path"); 
     //ImageIcon is used to image Display . 
     Label l =new Label(ii); 
     p.add(ii); 
     p.setBounds(set you bounds); 
     //Like that(20,20,500,40); 
    } 

    public static void main(String [] args) { 
     image obj = new 
    } 
} 
+2

Lütfen kodunuz hakkında ve OP'nin kodunuza neden ihtiyaç duyduğuna dair bazı açıklamalar ekleyin;). –