I'm quite new to JavaFX. I'm trying to pass the data or items i got in observable list in Scene1 to Scene2
Window1 just List the files from a folder. I also created a data model (Cousin says it's called bean) anyway, its Table_files which defines the data I would like to save. Currently its just fileID and Filename
**MAIN CONTROLLER or WIndow1**
public class FXML_ListFilesController implements Initializable {
private final String directory = "/Users/ellen/Desktop/test 1";
// COLLECTIONS
private ObservableList<String> results = FXCollections.observableArrayList();
@FXML
private ListView<String> list = new ListView<String>(results);
@FXML
private TextField txt1;
@FXML
private TextField txt2;
@FXML
private Label lblDirectory;
@FXML
private Button btnOpenWindow;
//COLLECTIONS
ObservableList<Table_Files> files_data = FXCollections.observableArrayList();
@FXML
private void handleListMouseClick(MouseEvent event) {
    System.out.println(list.getSelectionModel().getSelectedItem());
}
/**
 * Initializes the controller class.
 */
@Override
public void initialize(URL url, ResourceBundle rb) {
      File[] files = new File(directory).listFiles();
        for (File file : files) {
            if (file.isFile()) {
            results.add(file.getName());
            }
        }
        list.setItems(results); // ADD TO LIST
        lblDirectory.setText(directory);
}
@FXML
private void handleOpenWindow(ActionEvent event) {
    try {
    FXMLLoader fxmlLoader = new FXMLLoader();
    fxmlLoader.setLocation(getClass().getResource("FXML_NewWindow.fxml"));
    Scene scene = new Scene(fxmlLoader.load(), 400, 200);
    Stage stage = new Stage();
    stage.setTitle("New Window");
    stage.setScene(scene);
    stage.show();
} catch (IOException e) {
    Logger logger = Logger.getLogger(getClass().getName());
    logger.log(Level.SEVERE, "Failed to create new Window.", e);
}
}
// Getter
public String getDir(){
    return directory;
}
@FXML
private void handleSaveToBean(ActionEvent event) {
    Table_Files file_entry;
    for (int i = 0 ; i < list.getItems().size() ; i++){
        file_entry = new Table_Files(i, list.getItems().get(i));
        files_data.add(file_entry);
    }
    for(Table_Files o:files_data){
        System.out.println("Testing: " + o.getFilename());
    }
}
}
I would like to access the files_data from a different window. I was able to do it by using static. static ObservableList<Table_Files> files_data = FXCollections.observableArrayList(); 
and a getter
public ObservableList<Table_Files> getCollections(){
        return files_data;
    }
is there a way to get this without having it as a static?
Please help.
