2016-11-09 3 views
0

나는이 간단한 슬롯 머신을 자바로 코딩하는 방법을 알아 내는데 많은 어려움을 겪고있다. 문제를 해결하기 가장 쉬운 첫 번째 문제는 .png 이미지를 JButton에 넣을 때이다. 나는 이클립스에서 프로그램을 실행한다. 모든 파일은 원본 폴더에도 있습니다.Jbutton에 이미지를 넣는 방법

여기 내 코드는 지금과 같은 작업은 다음과 같습니다

JButton b = new JButton("Green.png"); 

window.getContentPane().add(b); 
JButton c = new JButton("Red.png"); 
window.getContentPane().add(c); 
JButton d = new JButton("Purple.png"); 
window.getContentPane().add(d); 
JButton z = new JButton(); 
window.getContentPane().add(z); 
JButton a = new JButton("Spin"); 
window.getContentPane().add(a); 
JButton y = new JButton(); 
window.getContentPane().add(y); 

Random random = new Random(); 


ActionListener x = new EventHandler(); 
a.addActionListener(x); 

답변

2

당신은 JButton에 대한 잘못된 생성자를 사용하고 '. 그 하나는 캡션을 설정합니다.

텍스트 및 아이콘을 설정할 수있는 생성자를 사용하십시오.

ImageIcon icon = createImageIcon("images/middle.gif", 
           "a pretty but meaningless splat"); 
label1 = new JButton("Image and Text", icon); 

/** Returns an ImageIcon, or null if the path was invalid. */ 
protected ImageIcon createImageIcon(String path, 
              String description) { 
    java.net.URL imgURL = getClass().getResource(path); 
    if (imgURL != null) { 
     return new ImageIcon(imgURL, description); 
    } else { 
     System.err.println("Couldn't find file: " + path); 
     return null; 
    } 
} 
+0

답변 해 주셔서 감사합니다. 이미지 아이콘 방법에 파일 이름을 어디에 넣으시겠습니까? – Cactus

+0

코드는 _classpath_에서 리소스를로드하므로 거기에 넣으십시오 (기본적으로 images 디렉토리에 middle.gif가 있어야합니다). 파일 시스템에서로드 할 수도 있습니다 (예 : '새로운 파일 ("c : /img/img1.gif"). toUri(). toUrl()'. –

+0

아마도 답변이 도움이 되었다면 허용으로 표시해주세요. –

관련 문제