У меня есть два файла fxml с двумя классами контроллера MainController и PlaylistController. Каждый класс имеет TableView, table
и nTable
соответственно.Как установить элементы TableView в другом классе контроллера в JavaFX?
table
отображается в виде вкладки по умолчанию на TabPane
nTable
aplies в новой вкладке, созданной с помощью кнопки.
Я хочу, чтобы иметь возможность выбирать элементы в таблице по умолчанию и добавлять их в новую таблицу на новой вкладке в одном действии (я могу сделать это с помощью двух кнопок, один из которых будет нажат после нового вкладка).
Я предполагаю, что мне нужно убедиться, что программа ждет, пока новая вкладка будет создана до установки элементов, но я не знаю, как это сделать.
Это метод я использую:
@FXML
PlaylistController pc;
public static ObservableList<Track> newTracklist = FXCollections.observableArrayList();
public void addToNewPlaylist(){
newTracklist.clear();
newTracklist.addAll(table.getSelectionModel().getSelectedItems());
Tab nTab = new Tab();
FXMLLoader nLoader = new FXMLLoader(getClass().getResource("/fxml/fxPlaylist.fxml"));
try {
Parent nRoot = nLoader.load();
nTab.setContent(nRoot);
} catch (IOException e) {
e.printStackTrace();
}
tabPane.getTabs().add(nTab);
nTab.isClosable();
pc.nTable.setItems(newTracklist);
}
Спасибо, решена Это :) – Peralta