2013-08-02 3 views
-1

이봐, 내가 올바른 작업 공간 폴더 (SRC)에 내 이미지를 이동 한하지만 난이 오류 메시지가 계속 ..... 자바 JButton의 이미지

Exception in thread "main" java.lang.NullPointerException 
    at javax.swing.ImageIcon.<init>(Unknown Source) 
    at GUI.<init>(GUI.java:20) 
    at main.main(main.java:4) 
코드
입니다

import javax.swing.JFrame; 
import javax.swing.JLabel; 
import javax.swing.JOptionPane; 
import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 
import javax.swing.JButton; 
import javax.swing.Icon; 
import javax.swing.ImageIcon; 
import java.awt.FlowLayout; 

public class GUI extends JFrame { 
    private JButton reg; 
    private JButton custom; 
    public GUI(){ 
     super("Welcome"); 
     setLayout(new FlowLayout()); 
     reg = new JButton("reg button"); 
     add(reg); 

     Icon b = new ImageIcon(getClass().getResource("b.png")); 
     Icon a = new ImageIcon(getClass().getResource("a.png")); 
     custom = new JButton("Custom", b); 
     custom.setRolloverIcon(a); 
     add(custom); 

     thehandler handle = new thehandler(); 
     reg.addActionListener(handle); 
     custom.addActionListener(handle); 

    } 

    private class thehandler implements ActionListener{ 
     public void actionPerformed(ActionEvent event){ 
      JOptionPane.showMessageDialog(null, String.format("%s", event.getActionCommand())); 
     } 
    } 

} 


----------------------- 

import javax.swing.JFrame; 
public class main { 
public static void main(String agrs[]){ 
    GUI page = new GUI(); 
    page.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    page.setSize(300,200); 
    page.setVisible(true); 
} 
} 
+0

''/b.png ''시도하셨습니까? – sanbhat

+0

0 다운로드 \t 이미지 파일 이름과 함께 src 폴더의 전체 경로 이름을 지정하십시오. –

+2

아니요 작동하지 않았습니다. 어쨌든 고마워. :-) –

답변

3

src 자체가 아니라 직접 사용하려면 src가 들어있는 폴더에 이미지를 넣어야합니다.

+0

이봐, 난 그냥 짓을하고 작동하지 않았다. :-( –

+0

@ user2422456 : 당신이 지금 바로'getClass(). getResource ("b.png")'에 접근하는 방식으로,이 작업을하기 위해서는 이미지를'.class' 파일 옆에 넣어야합니다 getClass(). getResource ("/ b.png")'라고 쓰면 이미지가 패키지 폴더 옆에 있어야합니다. 위에 적은 주석은이 작은 주석의보다 나은 방법으로 모든 것을 설명합니다. 공간 :-) –

1

이미지가 표시되어야합니다. Src-> DefaultPackage -> ** File.java, FileMain.java, b.png, x.png; 이미지 파일은 아래에 표시되지 않는 경우 ** Src-> DefaultPackage->를 누른 다음 F5 버튼하거나 오른쪽 패키지 탐색기를 클릭하고 이미지가 Src-> DefaultPackage에 표시되도록해야 새로 고침을 클릭 ->.

관련 문제