0
因此,我正在爲我在學校的項目製作紙牌遊戲。它使用GUI顯示給用戶的卡片。JavaFX資源輸入流爲空
我使用Java FXML中的IntelliJ
我只是試圖讓一切工作之前,我讓它在此刻看起來很漂亮,但卡與attatched他們的圖像按鈕。
我擡頭看看如何將圖像放到按鈕上,而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
所有我想要的是,當按鈕被點擊時,圖像變爲俱樂部王牌(我會做到這一點,當交易按鈕被點擊時,他們都變成隨機的,但這是在我得到這個工作後)
繼承人代碼atm:
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必須是什麼?還是我把它設置錯了?
任何幫助,將不勝感激:)
三江源