Так что напечатайте трассировку стека в улове и выясните, что вызывает исключение

шу с JavaFx, и я понял, что мне нужна помощь, чтобы обновить TreeView с некоторыми TreeItems во время выполнения, и это должно быть обновлено в главном окне.

Здесь вы можете увидеть скриншот двух окон:

Чем больше главное окно и оно вызывает (нажав в меню Файл >> Новый проект), тем меньше новое. В меньшем окне я мог получить набранную строку и нажать кнопку ввода.

Проблема в том, как я могу показать новые элементы, созданные «окном нового проекта» (меньшее окно на рисунке) в TreeView в главном окне (больше)? Древовидная структура находится в левой части главного окна.

Надеюсь, мне было ясно. Вот код контроллеров этих окон:

package application;

import java.net.URL;

import java.util.ResourceBundle;

import javafx.beans.value.ChangeListener;
import javafx.event.ActionEvent;
import javafx.event.Event;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.fxml.Initializable;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.MenuItem;
import javafx.scene.control.TreeItem;
import javafx.scene.control.TreeItem.TreeModificationEvent;
import javafx.scene.control.TreeView;
import javafx.stage.Modality;
import javafx.stage.Stage;

/**
 * this class handles with the main window of our LDF Tool
 * @author Vinicius
 * @version 1.0
 */
public class MainController implements Initializable{
    @FXML
    TreeView<String> treeView;
    @FXML
    MenuItem newProject;

    private boolean flag = false;
    private NewProjectWindowController npwc;

    @Override
    public void initialize(URL location, ResourceBundle resources) {

    }


    @FXML
    public void newProjectClicked(ActionEvent event){
        try{
            flag = true;
            FXMLLoader fxml = new FXMLLoader(getClass().getResource("newProjectWindow.fxml"));
            Parent root = (Parent) fxml.load();         
            Stage newWindow = new Stage();
            newWindow.setTitle("New Project");
            newWindow.initModality(Modality.APPLICATION_MODAL);
            newWindow.setScene(new Scene(root));
            newWindow.show();


        } catch (Exception e) {
            System.out.println("caiu na exceção");
        }
    }

    /**
     * to this method, choose the project's name as argument, and it will be put on the
     * tree with the archives that should be created together
     * @param projectName
     */
    public void doTree(String projectName){     
        TreeItem<String> root = new TreeItem<>("projectName");
        root.setExpanded(true);     
        //TreeItem<String> folha1 = new TreeItem<String>(projectName + " arquivo 1");
        //root.getChildren().add(folha1);
        treeView.setRoot(root);     

    }

Другой класс контроллера:

package application;

import java.io.IOException;
import java.net.URL;
import java.util.ResourceBundle;

import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.fxml.Initializable;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.TextField;
import javafx.stage.Stage;

public class NewProjectWindowController implements Initializable{

    @Override
    public void initialize(URL location, ResourceBundle resources) {

    }

    @FXML
    Button cancelButton;
    @FXML
    Button enterButton;
    @FXML
    TextField textInput;
    private String input;

    public String getInput(){
        return this.input;
    }

    @FXML
    public void cancelButtonClicked(ActionEvent event) {
        Stage window = (Stage) this.cancelButton.getParent().getScene().getWindow();
        window.close();
    }

    @FXML
    public void enterButtonClicked(ActionEvent event) {
        input = hasString();
        Stage window = (Stage) this.enterButton.getParent().getScene().getWindow();
        window.close();
    }

    private String hasString(){
        if (this.textInput.getText().isEmpty())
            return null;
        return this.textInput.getText();
    }

}

Пожалуйста, предположим, что я все правильно сопоставил в файле FXML. Спасибо