2017-11-28 16 views
-2

NetBeans上でEmojiOneJavaからコードを実行しようとするとエラーが発生します。誰かのコードであり、どのように動作するかを見たいと思っています。私が遭遇したエラーのhttps://github.com/UltimateZero/EmojiOneJavaNetBeansでEmojiOneJavaを実行

例:

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:498) 
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:498) 
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$155(LauncherImpl.java:182) 
at java.lang.Thread.run(Thread.java:748) 
Caused by: java.lang.IllegalStateException: Location is not set. 
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2434) 
at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2409) 
at com.uz.emojione.fx.EmojiListExample.start(EmojiListExample.java:24) 
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$162(LauncherImpl.java:863) 
at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$175(PlatformImpl.java:326) 
at com.sun.javafx.application.PlatformImpl.lambda$null$173(PlatformImpl.java:295) 
at java.security.AccessController.doPrivileged(Native Method) 
at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(PlatformImpl.java:294) 
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95) 
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method) 
at com.sun.glass.ui.win.WinApplication.lambda$null$148(WinApplication.java:191) 
... 1 more 

例外実行中のアプリケーション私は(私はWindowsコンピュータを使用)のNetBeansやGitBash経由のどちらか助けて、このコードを実行しているのGitHubリポジトリへ

リンクを必要とする com.uz.emojione.fx.EmojiListExample のJava結果:1

+0

「FXMLLoader」がFMXLファイルを見つけることができないというエラーです。おそらくFXMLは、アプリケーションをビルドしたときに展開されませんでした。リソースフォルダがビルドフォルダとして設定されていることを確認します(私はNetBeansユーザーではなく、NetBeansでどのように設定されているかはわかりません....)。 –

+0

彼はファイル構造を変更しました。彼の 'FXML'ファイルはフォルダ名' resources'にあります。 – Sedrick

+0

私の指示に従えば、コードが実行されます。私はそれを走らせる。あなたはまだ問題があります。イメージをロードしようとしましたが、イメージへのパスが正しくありません。 'FXML'ファイルへのあなたのパスに似ています。 – Sedrick

答えて

0

まず:

コントローラを使用してFXMLファイルをfxフォルダにリファクタリングします。 emoji.jsonJson.javaで同じことをしてください。それらをemojioneフォルダにリファクタリングします。第二に

New Project Structure

//The correct way to load and Image: 


private String getEmojiImagePath(String hexStr) 
{ 
    String filePath = "resources/com/uz/emojione/fx/png_40/" + hexStr + ".png"; 
    File file = new File(filePath); 

    return file.toURI().toString(); 
} 

サード:

があなたの srcフォルダに移動し、 resourcesフォルダを切りました。さて最後に src

enter image description here

と同じフォルダにresourcesフォルダを貼り付けます。 は、NetBeansのこの外側を実行するために、あなたのjarと同じフォルダにresourcesフォルダを展開する必要があります。

enter image description hereは、私はあなたにもこれを持っていることに気づく:

enter image description here

は、私は私がした画像を読み込むと同じことをしなければならなかった。このランニングを取得するには上記。

関連する問題