2013-07-08 2 views
2

나는 맹세코 모든 곳을 돌아보고 몇 시간 동안 인터넷 검색을 해왔다. 나는 모든 버튼에 actionListeners을 추가하고, 하나를 클릭했을 때, 난과 같이 setIcon(image)로에게 이미지를주고 싶어 :setIcon이 JButton에 이미지를 표시하지 않는 이유는 무엇입니까?

public void actionPerformed(ActionEvent e) { 
    if(e.getSource() == button) { 

    ImageIcon icon = new ImageIcon(getClass().getResource("/Images/" +letter+ ".PNG")); 
    button.setIcon(icon); 
} 

1) 나는 button.getIcon() 나에게 file:/Users/path/to/Images/X.PNG 같은 것을 제공하기 때문에 이미지를 검색하는 것을 알고. 아이콘을 설정 한 후 null인지 확인한 후 null이 아닙니다.

2) getClass()...ImageIO.read...BufferedImage 외에 setIcon의 다른 변형을 시도했습니다.

3) 더 많은 코드를 추가하고 싶지 않습니다. 관련성이 무엇인지 잘 모르기 때문입니다. 나는 일식에서 당신의 상상력

4)의 일부 기대했다, 내가 (대신) binsrc 내 출력 폴더를 변경하고, 내 Images 폴더는 곳이다.

+0

개체 아이콘을 설정하기 전에 개체 아이콘이 null인지 확인하십시오. null 인 경우 아이콘 경로는 유효하지 않습니다. – KernelPanic

+0

null이 아니며 올바른 경로입니다. button.getIcon()이 null이 아니거나 잘못된 경로 인 경우 아무것도 표시하지 않겠습니까? –

+0

응용 프로그램을 실행중인 플랫폼은 무엇입니까? – KernelPanic

답변

0

나는 같은 문제가 있다고 생각합니다. Eclipse를 사용하고 JGrasp에서 코드를 테스트 한 결과 작동했습니다. Eclipse는 SRC 또는 BIN이 아닌 Project 폴더의 리소스를 필요로합니다.