1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
...
private final Teams_TableViewCtrl teams_tvc;
private final TableView<Team> table;
private final ObservableList<Team> data;
private final GroupTeams groupTeams;
private final Facade facade;
public Teams_TableView(Facade facade, GroupTeams groupTeams) {
this.facade = facade;
facade.addObserver(this);
this.groupTeams = groupTeams;
this.teams_tvc = new Teams_TableViewCtrl(facade, this);
data = facade.getAllTeams();
// TableView ***********************************************************
table = new TableView<>();
table.setEditable(true);
table.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY);
buildTableView();
// Construct layout ****************************************************
this.getChildren().add(table);
}
public void buildTableView() {
table.setItems(data);
final TableColumn<Team, String> chipNbrCol = new TableColumn<>(Messages.getString("chipNbr"));
chipNbrCol.setCellValueFactory(new PropertyValueFactory("id"));
chipNbrCol.prefWidthProperty().bind(table.widthProperty().multiply(0.2));
final TableColumn<Team, String> nameTeamCol = new TableColumn<>(Messages.getString("teamName"));
nameTeamCol.setCellValueFactory(new PropertyValueFactory("nameTeam"));
// Permet de modifier le nom de l'équipe
nameTeamCol.setOnEditCommit(new EventHandler<CellEditEvent<Team, String>>() {
@Override
public void handle(CellEditEvent<Team, String> t) {
String oldNameTeam = t.getRowValue().getNameTeam();
((Team) t.getTableView().getItems().get(
t.getTablePosition().getRow())).setNameTeam(t.getNewValue());
facade.updateNameTeam(t.getRowValue(), oldNameTeam);
}
});
nameTeamCol.setEditable(true);
nameTeamCol.setCellFactory(TextFieldTableCell.forTableColumn());
nameTeamCol.prefWidthProperty().bind(table.widthProperty().multiply(0.8));
table.getColumns().setAll(chipNbrCol, nameTeamCol);
table.getSortOrder().add(nameTeamCol); //permet de trier la colonne 'teamName' par défaut
table.getSelectionModel().selectedItemProperty().addListener(teams_tvc);
}
... |
Partager