2017-02-26 81 views
-1

我正在接受用戶輸入並將其存儲在文件中的JavaFX應用程序。對於我使用CSS設計場景的樣式。JavaFX jar執行拋出invocationtargetexception

我使用的IDE是使用NetBeans,我裝的所有類和文件到一個jar文件

These are all the files inside the project directory

public void start(Stage primaryStage) throws Exception { 

    String[] noti = {"Loading...","Verifying user...","Gathering info...","Success"}; 

    primaryStage.initStyle(StageStyle.UNDECORATED); 
    VBox root = new VBox(); 
    Scene scene = new Scene(root, 1100, 650); 

    Label label = new Label("Loading..."); 


    ProgressBar progressBar = new ProgressBar(0.1); 


    Thread thr = new Thread(new Runnable() { 
     @Override 
     public void run() { 

      try{ 

       Thread.sleep(1500); 
       progressBar.setProgress(0.2); 

      }catch(Exception e){} 

     } 

    }); 



    primaryStage.setScene(scene); 
    root.getChildren().addAll(progressBar, label); 
    scene.getStylesheets().add(getClass().getResource("view/Main.CSS").toExternalForm()); 
    File file = new File("C:\\Users\\SVNPC\\Documents\\NetBeansProjects\\portee\\TEST_1"); 

    if(!file.exists()){ 
     file.mkdir();   
    } 

    file = new File("C:\\Users\\SVNPC\\Documents\\NetBeansProjects\\portee\\TEST_1\\core.txt"); 


    if(!file.exists() && !file.isDirectory()){ 


     // Create the file and Fill it with user data 


    } 

    else{ 



    } 

    primaryStage.show(); 
    thr.start(); 

} 

每當我試圖執行的jar文件,它拋出的InvocationTargetException。 我是新來的JavaFX,我不知道是什麼原因造成的罐子把這些許多例外

This happened when I tried to run the JAR

+0

發佈有關Splash.java文件的代碼在行129中,您有一個NullPointerException –

+0

scene.getStylesheets()。add(getClass()。getResource(「view/Main.CSS」)。toExternalForm()); 這就是我對li的看法:129 –

+0

你確定場景不是null嗎?或者getStylesheets不是null? –

回答

0

你的錯誤是在Splash.java文件129線NullPointerException

你告訴我你在該行的代碼是:

scene.getStylesheets().add(getClass().getResource("view/Main.CSS").toExternalForm()); 

所以你必須分配之前添加此檢查:

你能保證現場不爲空,因爲你在這一行:

Scene scene = new Scene(root, 1100, 650); 

所以檢查將變爲:

if (scene.getStylesheets() != null && getClass() != null 
&& getClass().getResource("view/Main.CSS") != null) { 
    scene.getStylesheets().add(
     getClass().getResource("view/Main.CSS").toExternalForm()); 
} 

因爲在嘗試使用null對象的屬性時NullPointerException會增加。

+0

現在JAR文件像一個魅力兄弟一樣運行,但問題是CSS文件根本沒有加載。場景顯示不帶自定義樣式 –

相關問題