나는 스윙 GUI에서 초보자이며 MacBook Pro와 Eclipse Luna를 사용하고 있으며 내 이미지는 찾기에 제 코드와 같은 폴더에 있지만 Eclipse에서는 이미지가 내 코드와 같은 폴더에 표시되지 않습니다. 참조 : 내가 말했듯이 사람이 날이 버그를 해결하는 데 도움 수 있다면java.lang.NullPointerException ImageIcon에 대한 getResource의 GUI 스윙
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(ImageIcon.java:217)
at Frame.<init>(Frame.java:13)
at Frame$1.run(Frame.java:26)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
, 그것은 SUPER 도움이 될 것입니다 : 여기
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.SwingUtilities;
import java.awt.BorderLayout;
class Frame extends JFrame {
public Frame() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setTitle("Online First Game Image");
//below is where one of the errors are
ImageIcon image = new ImageIcon(this.getClass().getResource("/image.png"));
JLabel label = new JLabel(image);
JScrollPane scrollPane = new JScrollPane(label);
scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
add(scrollPane, BorderLayout.CENTER);
pack();
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
// where the other error is
new Frame().setVisible(true);
}
});
}
}
그리고하면 오류 메시지가 .
편집 : 문제가 해결되어 코드와 아무 관련이 없습니다. 중복이 아니며 Eclipse 디렉토리에 이미지를 추가하는 데 문제가 있습니다.
내가 stron 것 :
변경이이에 의해
ImageIcon image = new ImageIcon(this.getClass().getResource("/image.png"));
을 클래스는 패키지에 클래스를 넣고 리소스 디렉토리에 이미지를 넣는 것이 좋습니다. –
@ MLG HockeyPlayer :이 답변, [리소스로 이미지로드 중] (https://stackoverflow.com/a/9866659/1057230), 주제에 대한 도움이 되길 바랍니다 .-) –