2016-04-02 23 views
0

私はFXMlでこのUI(画像参照)を作成しました。 Top.fxml、Bottom.fxml、Left.fxml、Right.fxmlはMain.fxmlの下に置かれ、BorderPaneで整理されます。 Left.fxmlとRight.fxmlはSplitPaneです。複数のFXMLでのイベント処理

私がやっていることは、Top.fxmlのボタンをクリックすると、コントローラファイル内の関数が実行されるはずです。以下はコントローラファイルのコードです。私はlist.setItems(listItems);java.lang.NullPointerExceptionを取得しています。これは、list.setItems(listItems);を初期化メソッドに入れたときにも発生します。

@FXML 
private Button btn; 

@FXML 
private ListView<String> list; 

ObservableList<String> listItems = FXCollections.observableArrayList("A","B","C","D"); 

@Override 
public void initialize(URL arg0, ResourceBundle arg1) { 

} 

public void addToList(ActionEvent event) { 

list.setItems(listItems); 

} 

image

答えて

0

コード、すなわちTop.fxmlが正しくロードされていない、正しく注入されていない場合は「リスト」変数がヌルです。 問題を解決できない場合は、fxmlファイルをロードするコードを入力してください。

+0

fxmlをインクルードするために ''を使用しました。 – NoobieGenie

+0

Top.fxmlファイルのパスを確認することをお勧めします。これはシーンビルダでは正しく読み込まれますが、実行時(またはその逆) –