2017-05-06 2 views
0

그래서 저는 학교에서 프로젝트를 위해 카드 게임을 만들고 있습니다. 카드가 사용자에게 표시되는 GUI를 사용합니다.JavaFX 리소스 입력 스트림이 null입니다.

나는 단순히 내가 그 순간에 꽤 보이게하지만, 카드 프로그램에 부착 이미지와 버튼 전에 작업 모든 것을 얻으려고 IntelliJ를

자바 FXML을 사용하고 있습니다.

버튼에 이미지를 가져 오는 방법을 찾았고 JavaFX의 기본 가이드는 저에게 맞지 않습니다. 또한 검색을 시도하고 나는 하나의 발견 - Loading image resource을 -하지만 난 지침을 정확히 수행 한 난 여전히 오류를 받고 있어요 : 여기

Caused by: java.lang.reflect.InvocationTargetException 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:498) 
at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:71) 
at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:498) 
at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:275) 
at javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1769) 
... 48 more 
Caused by: java.lang.NullPointerException: Input stream must not be null 
at javafx.scene.image.Image.validateInputStream(Image.java:1128) 
at javafx.scene.image.Image.<init>(Image.java:706) 
at sample.Controller.cardClickHandler(Controller.java:26) 
... 58 more 

이 디렉토리 내 IDE의 사진입니다 : http://imgur.com/a/B9U64

내가 원하는 것은 단추를 클릭 할 때 이미지가 Ace of Clubs로 변경된다는 것입니다 (거래 버튼을 클릭 할 때 모든 항목이 임의의 것으로 변경되지만이 작업이 끝난 후에 표시됩니다)

코드가 Heres :

public void cardClickHandler(ActionEvent actionEvent) 
{ 
    Button button = (Button)actionEvent.getSource(); 
    Integer row = GridPane.getRowIndex(button); 
    Integer column = GridPane.getColumnIndex(button); 
    if (row==1) 
    { 
     System.out.println("Opponent's Hand, Card "+Integer.toString(column+1)); 
    } 
    if (row==3) 
    { 
     System.out.println("Your Hand, Card "+Integer.toString(column+1)); 
    } 
    Image image = new Image(getClass().getResourceAsStream("/resources/images/Ace-of-Clubs.png")); 
    ImageView imageView = new ImageView(image); 
    imageView.setFitHeight(80); 
    imageView.setFitWidth(50); 
    button.setGraphic(imageView); 
} 

이미지의 URL은 무엇이되어야합니까? 아니면 내가 잘못 설정 한거야?

은 어떤 도움이 많이 주시면 감사하겠습니다 :)

감사합니다

답변

0

을 내가 그것을 해결하기 위해 관리해야하지만 그래도 그 예외를 제공하는 이유는 아직 알 수 없습니다. 그러나 솔루션입니다 :

Image image = new Image(new FileInputStream("image.jpg"));

이 할 것 :)

관련 문제