2015-11-14 100 views
0

這是我迄今在我的Netbeans程序中的代碼。它應該帶上一張帶有圖片的窗口,圖片被稱爲海浪。但由於某種原因,它沒有運行。你有什麼想法,爲什麼?JavaFX/Netbeans程序未運行

package myseaapp; 

import javafx.application.Application; 
import javafx.scene.Scene; 
import javafx.scene.image.Image; 
import javafx.scene.image.ImageView; 
import javafx.scene.layout.Pane; 
import javafx.scene.shape.Rectangle; 
import javafx.stage.Stage; 
import javafx.stage.StageStyle; 

public class MySeaApp extends Application { 

    private ImageView seawave; 
    private Rectangle seawaveClip; 

    @Override 
    public void start(Stage primaryStage) { 
     primaryStage.initStyle(StageStyle.TRANSPARENT); 

     seawave = new ImageView(new Image(MySeaApp.class.getResourceAsStream("images/seawave"))); 
     seawaveClip = new Rectangle(300, 220); 
     seawaveClip.setArcHeight(20); 
     seawaveClip.setArcWidth(20); 

     seawave.setClip(seawaveClip); 
     Pane root = new Pane(); 
     root.getChildren().add(seawave); 

     Scene myScene = new Scene(root, 300, 250); 
     myScene.setFill(null); 
     primaryStage.setScene(myScene); 
     primaryStage.show(); 
    } 

    public static void main(String[] args) { 
     launch(args); 
    } 

} 

,這就是我得到的...

Executing /Users/SethRataiczak/NetBeansProjects/MySeaApp/dist/run1104410607/MySeaApp.jar using platform /Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home/jre/bin/java 
Exception in Application start method 
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:497) 
    at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:389) 
    at com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:328) 
    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:497) 
    at sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:767) 
Caused by: java.lang.RuntimeException: Exception in Application start method 
    at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:917) 
    at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$156(LauncherImpl.java:182) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: java.lang.NullPointerException: Input stream must not be null 
    at javafx.scene.image.Image.validateInputStream(Image.java:1110) 
    at javafx.scene.image.Image.<init>(Image.java:694) 
    at myseaapp.MySeaApp.start(MySeaApp.java:30) 
    at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$163(LauncherImpl.java:863) 
    at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$176(PlatformImpl.java:326) 
    at com.sun.javafx.application.PlatformImpl.lambda$null$174(PlatformImpl.java:295) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at com.sun.javafx.application.PlatformImpl.lambda$runLater$175(PlatformImpl.java:294) 
    at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95) 
Exception running application myseaapp.MySeaApp 
Java Result: 1 
Deleting directory /Users/SethRataiczak/NetBeansProjects/MySeaApp/dist/run1104410607 
jfxsa-run: 
BUILD SUCCESSFUL (total time: 1 second) 
+1

會發生什麼?你有錯誤信息嗎? –

+0

我剛剛更新了我的帖子,以顯示當我運行我的程序時得到的內容 – Seth

+0

錯誤消息表示找不到圖像資源。它應該在myseaapp/images/seawave –

回答

0

首先全部採用的嘗試和處理這樣

try { 
// code 
}catch { 
// error handling code 
} 

錯誤,第二你沒有使用你的catch塊圖片類型示例.png,.jpg等

seawave = new ImageView(new Image(MySeaApp.class.getResourceAsStream("images/seawave"))); 

改變這一行的代碼以正確的圖像類型

像這樣:

seawave = new ImageView(new Image(MySeaApp.class.getResourceAsStream("images/seawave.jpg"))); 
+0

我添加了.jpg並且仍然遇到同樣的問題 – Seth

+0

您的圖像是.jpg格式嗎?檢查其格式並添加到最後。否則,你不能停止獲取'java.lang.NullPointerException.' –

+0

它不是必要的圖像是.jpg它可以是.png,.svg等以及檢查圖像屬性 – Programmer