Суть задачи заключаеся в том что у меня есть колекция из обьектов класса Person.А у каждого Person есть ArrayList из обьектов класса Subject
в левом TableView у меня список Person, а в правом TableView у меня должен высвечиваться список Subject при нажатии на каждый Person в левом списке.
Вот Controller данного fxml-файла.
public class SubjectListViewController {
@FXML
private TableView<Person> subjectListTable;
@FXML
private TableColumn<Person, String> nameColumn;
@FXML
private TableView<Subject> subjectPersonTable;
@FXML
private TableColumn<Subject, String> nameSubjectColumn;
@FXML
private TableColumn<Subject, String> courseSubjectColumn;
private Main main;
private Stage mainStage;
Person person;
@FXML
private void initialize(){
nameColumn.setCellValueFactory(
cellValue -> new SimpleStringProperty(cellValue.getValue().getSurname() + " " + cellValue.getValue().getName().charAt(0) + "."
+ cellValue.getValue().getFathername().charAt(0) +".")
);
subjectListTable.getSelectionModel().selectedItemProperty().addListener(
((observable, oldValue, newValue) -> showSubjectListInfo(newValue))
);
}
private void showSubjectListInfo(Person newValue) {
}
public void setMain(Main main) {
this.main = main;
subjectListTable.setItems(main.personsList);
}
public void setMainStage(Stage mainStage) {
this.mainStage = mainStage;
}
public TableView<Person> getSubjectListTable() {
return subjectListTable;
}
}