2016-05-29 45 views
1

JavaFXを使用していて、ステージを表示しようとしているときに例外があります。 問題の原因を知るにはどうすればよいですか?この行は以下の通りです:this.stage.show(); 私はそれをコンソールに持っています:JavaFXでステージを表示するとNullPointerExceptionが発生する

Exception in Application start method 
Exception in thread "JavaFX Application Thread" java.lang.NullPointerException 
    at com.sun.javafx.scene.control.skin.ChoiceBoxSkin.updatePopupItems(Unknown Source) 
    at com.sun.javafx.scene.control.skin.ChoiceBoxSkin.initialize(Unknown Source) 
    at com.sun.javafx.scene.control.skin.ChoiceBoxSkin.<init>(Unknown Source) 
    at javafx.scene.control.ChoiceBox.createDefaultSkin(Unknown Source) 
    at javafx.scene.control.Control.impl_processCSS(Unknown Source) 
    at javafx.scene.Parent.impl_processCSS(Unknown Source) 
    at javafx.scene.Parent.impl_processCSS(Unknown Source) 
    at javafx.scene.Parent.impl_processCSS(Unknown Source) 
    at javafx.scene.Node.processCSS(Unknown Source) 
    at javafx.scene.Node.processCSS(Unknown Source) 
    at javafx.scene.Node.processCSS(Unknown Source) 
    at javafx.scene.Node.processCSS(Unknown Source) 
    at javafx.scene.Node.processCSS(Unknown Source) 
    at javafx.scene.Scene.doCSSPass(Unknown Source) 
    at javafx.scene.Scene.access$3600(Unknown Source) 
    at javafx.scene.Scene$ScenePulseListener.pulse(Unknown Source) 
    at com.sun.javafx.tk.Toolkit.lambda$runPulse$31(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at com.sun.javafx.tk.Toolkit.runPulse(Unknown Source) 
    at com.sun.javafx.tk.Toolkit.firePulse(Unknown Source) 
    at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(Unknown Source) 
    at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(Unknown Source) 
    at com.sun.javafx.tk.quantum.QuantumToolkit.lambda$runToolkit$405(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$149(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 
java.lang.reflect.InvocationTargetException 
    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 com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(Unknown Source) 
    at com.sun.javafx.application.LauncherImpl.launchApplication(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$156(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 
Caused by: java.lang.NullPointerException 
    at com.sun.javafx.scene.control.skin.ChoiceBoxSkin.updatePopupItems(Unknown Source) 
    at com.sun.javafx.scene.control.skin.ChoiceBoxSkin.initialize(Unknown Source) 
    at com.sun.javafx.scene.control.skin.ChoiceBoxSkin.<init>(Unknown Source) 
    at javafx.scene.control.ChoiceBox.createDefaultSkin(Unknown Source) 
    at javafx.scene.control.Control.impl_processCSS(Unknown Source) 
    at javafx.scene.Parent.impl_processCSS(Unknown Source) 
    at javafx.scene.Parent.impl_processCSS(Unknown Source) 
    at javafx.scene.Parent.impl_processCSS(Unknown Source) 
    at javafx.scene.Parent.impl_processCSS(Unknown Source) 
    at javafx.scene.Parent.impl_processCSS(Unknown Source) 
    at javafx.scene.Parent.impl_processCSS(Unknown Source) 
    at javafx.scene.Parent.impl_processCSS(Unknown Source) 
    at javafx.scene.Node.processCSS(Unknown Source) 
    at javafx.scene.Scene.doCSSPass(Unknown Source) 
    at javafx.scene.Scene.preferredSize(Unknown Source) 
    at javafx.scene.Scene.impl_preferredSize(Unknown Source) 
    at javafx.stage.Window$9.invalidated(Unknown Source) 
    at javafx.beans.property.BooleanPropertyBase.markInvalid(Unknown Source) 
    at javafx.beans.property.BooleanPropertyBase.set(Unknown Source) 
    at javafx.stage.Window.setShowing(Unknown Source) 
    at javafx.stage.Window.show(Unknown Source) 
    at javafx.stage.Stage.show(Unknown Source) 
    at view.implementations.View.loadConfiguration(View.java:76) 
    at main.Main.start(Main.java:40) 
    at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$163(Unknown Source) 
    at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$176(Unknown Source) 
    at com.sun.javafx.application.PlatformImpl.lambda$null$174(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at com.sun.javafx.application.PlatformImpl.lambda$runLater$175(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$149(Unknown Source) 
    ... 1 more 
Exception running application main.Main 

少し助けてください?問題はChoiceBoxの1つにあることがわかります。彼らはobservableListです。

要素:

私は初期化
@FXML 
private ChoiceBox<String> choiceBox1; 
private ObservableList<String> observableList1; 

List<String> list1 = new ArrayList<String>(); 
    list1.add("1"); 
    list1.add("2"); 
    list1.add("3"); 
    this.observableListHash = FXCollections.observableList(list1); 
this.choiceBox1.setItems(this.observableList1); 
this.choiceBox1.setValue("1"); 

私はpredeterminated値をしたいので、私は値を設定します。

+0

は何ですか? – fabian

+0

私はlist1を使用するので、私はthis.observableList1で何を持っているのですか? – Regular

答えて

0

observableList1を初期化せず、別のリストに要素を追加します。

この...

List<String> list1 = new ArrayList<String>(); 
list1.add("1"); 
list1.add("2"); 
list1.add("3"); 
this.observableListHash = FXCollections.observableList(list1); 
this.choiceBox1.setItems(this.observableList1); 
this.choiceBox1.setValue("1"); 

...でなければなりません... this.observableList1` `の値は

observableList1 = FXCollections.observableArrayList(); 
observableList1.addAll("1", "2", "3"); 
this.choiceBox1.setItems(observableList1); 
this.choiceBox1.setValue("1"); 
+0

私は "observableArrayList"と書いています。 – DVarga

+1

私はそれをしましたが、私はまだ同じ問題を抱えています。原因:java.lang.NullPointerException \t com.sun.javafx.scene.control.skin.ChoiceBoxSkin.updatePopupItems(不明なソース) \t com.sun.javafx.scene.control.skin.ChoiceBoxSkin.initialize(不明ソース) \t(com.sun.javafx.scene.control.skin.ChoiceBoxSkin)。 (不明な情報源) – Regular

+0

完全なコードを投稿してください。あなたが投稿したものはこの問題を抱えていました。 – DVarga

関連する問題