2012-06-28 3 views
8

Java로 매우 기본적인 게임을 만들고 있는데 JFrame에 이미지를 표시하는 데 문제가 있습니다. 그것은 나를 위해 과거에 일했고 지금은 그렇지 않습니다. 나는 내가 잘못한 것을 볼 수 없습니다.Java ImageIcon을 JLabel에 추가합니다.

현재 작업 디렉토리를 인쇄하고 그 이미지와 일치하도록 변경하려고했습니다. 문제는 이미지를 가져 오지 않을 가능성이 있습니다. 내 파일 파인더 또는 파일 판독기 또는 그와 비슷한 것이 문제없이 찾을 수 있지만 JLabel 또는 JFrame에 제대로 추가 할 수 없습니다 (ImageIcon).

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)pack()을하고있다 ... 내 코드입니다.

누군가가 나를 이해하는데 도움이 될 수 있습니까?

+0

이 예에서 참조하시기 바랍니다, [이미지를 추가하는 방법 (http://stackoverflow.com/questions/9864267/load-icon-image-exception/9866659#9866659) 또는 다음 [단계]를 따르십시오 (http : // ga gandeepbali.uk.to/gaganisonline/webpages/makejareclipse.html) –

+0

나는 그 예제를 보았지만 도움이되지 않았다 – user1486826

+0

.class 파일 옆에 이미지를 놓고 ImageIcon image = new ImageIcon (getClass) .getResource ("yourImage.extension")) ;. 프로젝트에 이미지를 넣는 것이 올바른 방법이므로 링크가 작동해야합니다. 나는 당신이 그것에 언급 된 모든 단계를 거쳤 으면 좋겠다 !! –

답변

12

의 문제가이있다 :

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

당신은 이미지 아이콘 "이미지"를 만들하지만 당신은 "문자"와 JLabel의를 만들 수 있습니다.

그것은해야한다 :

JLabel imagelabel = new JLabel(image); 
+0

죄송합니다. 실제 코드는 같지만 문자를 이미지로 바꾸는 것을 잊었습니다. – user1486826

3

이 시도

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

이 튜토리얼에서 봐 - How to use Icons

+0

나는 튜토리얼을 여러 번 보았는데, 내가 뭘 잘못했는지 안다. – 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

코드에 대한 설명과 OP에 코드가 필요한 이유에 대한 설명을 추가하십시오.). –

관련 문제