2016-01-07 30 views
0

我一直在嘗試在anylayout中的javafx和fxml文件的main方法中添加InlineStyleTextArea和CodeArea。我收到一個線程錯誤。如果可能,請使用示例如何將這些組件添加到javafx佈局中?如果可能的話與教程鏈接。如何在佈局中添加Richfx

這是一個簡單的代碼

public class Main extends Application { 

@Override 

public void start(Stage primaryStage) { 
TextField myTextField = new TextField(); 
InlineCssTextArea TextArea = new InlineCssTextArea(); 

    HBox hbox = new HBox(); 
hbox.getChildren().add(myTextField); 
hbox.getChildren().add(TextArea); 
HBox.setHgrow(myTextField, Priority.ALWAYS); 
HBox.setHgrow(TextArea, Priority.ALWAYS); 

Scene scene = new Scene(hbox); 
primaryStage.setScene(scene); 
primaryStage.show();} 

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


} 

}

Exception in Application start method 
java.lang.reflect.InvocationTargetException 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
at java.lang.reflect.Method.invoke(Unknown Source) 
at sun.launcher.LauncherHelper$FXHelper.main(Unknown Source) 
Caused by: java.lang.RuntimeException: Exception in Application start method 
at com.sun.javafx.application.LauncherImpl.launchApplication1(Unknown Source) 
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$152(Unknown Source) 
Caused by: java.lang.NoClassDefFoundError: org/reactfx/value/SuspendableVal 
at application.Main.start(Main.java:20) 
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$159(Unknown Source) 
at com.sun.javafx.application.LauncherImpl$$Lambda$53/19776028.run(Unknown Source) 
at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$172(Unknown Source) 
at com.sun.javafx.application.PlatformImpl$$Lambda$45/18503843.run(Unknown Source) 
at com.sun.javafx.application.PlatformImpl.lambda$null$170(Unknown Source) 
at com.sun.javafx.application.PlatformImpl$$Lambda$48/3799573.run(Unknown Source) 
at java.security.AccessController.doPrivileged(Native Method) 
at com.sun.javafx.application.PlatformImpl.lambda$runLater$171(Unknown Source) 
at com.sun.javafx.application.PlatformImpl$$Lambda$46/2180324.run(Unknown Source) 
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(Unknown Source) 
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method) 
at com.sun.glass.ui.win.WinApplication.lambda$null$145(Unknown Source) 
at com.sun.glass.ui.win.WinApplication$$Lambda$36/3326003.run(Unknown Source) 
... 1 more 
Caused by: java.lang.ClassNotFoundException: org.reactfx.value.SuspendableVal 
at java.net.URLClassLoader.findClass(Unknown Source) 
at java.lang.ClassLoader.loadClass(Unknown Source) 
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
at java.lang.ClassLoader.loadClass(Unknown Source) 
... 15 more 
Exception running application application.Main 

at com.sun.javafx.application.LauncherImpl$$Lambda$50/14845382.run(Unknown Source) 
at java.lang.Thread.run(Unknown Source) 
+0

它們只是控件的子類,因此您可以使用完全相同的方式添加其他控件。你能發佈你收到的堆棧跟蹤嗎? –

+0

應用程序啓動方法中的異常 java.lang.reflect.InvocationTargetException \t at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) –

+0

我可以只是一個簡單的gui代碼示例嗎? –

回答

1

從堆棧跟蹤,它看起來像Java運行時無法找到(至少在一個類)的ReactFX庫,這是RichTextFX的依賴關係。既然它找到了,它一定找到了InlineCssTextArea,所以必須安裝RichTextFX庫。

如果您正在使用某種依賴關係管理(例如Gradle或Maven),那麼該工具應該爲您管理所有依賴關係。

如果您手動管理依賴關係(即下載jar文件並將它們添加到類路徑中),則需要確保要麼下載所有依賴的jar文件,要麼使用"Fat jar file"