/** * Initializes the controller class. * * @param url * @param rb */ @Override public void initialize(URL url, ResourceBundle rb) { setupTable(); inflateTable(); atracaoTableView.setRowFactory( (TableView<Atracao> atracaoTablewView) -> { final TableRow<Atracao> row = new TableRow<>(); row.addEventFilter( MouseEvent.MOUSE_PRESSED, (MouseEvent event) -> { final int index = row.getIndex(); this.currentSelectedRow = index; if (index >= 0 && index < atracaoTablewView.getItems().size()) { atracaoTableView.getSelectionModel().select(index); textField1.setText(atracaoTableView.getItems().get(index).getIdAtracao()); textArea2.setText(atracaoTableView.getItems().get(index).getDescricao()); textField3.setText( atracaoTableView.getItems().get(index).getClassificacaoEtaria()); textField4.setText(atracaoTableView.getItems().get(index).getLocal()); textField5.setText(atracaoTableView.getItems().get(index).getEvento()); textField6.setText(atracaoTableView.getItems().get(index).getData()); event.consume(); } }); return row; }); }
/** * Sets up the entire TableView with all its functionalities. * * @return The created TableView. */ private TableView<FilterInput> setUpTableView() { // Set up table view final TableView<FilterInput> tableView = new TableView<>(); tableView.setEditable(true); tableView.setMinWidth(522); tableView.setMinHeight(280); // Set up columns setUpFilterColumn(tableView); setUpTypeColumn(tableView); setUpOriginColumn(tableView); setUpColorColumn(tableView); setUpPriorityColumn(tableView); setUpLegalityColumn(tableView); setUpActiveColumn(tableView); // Insert data from database into table tableView.setItems(data); // Set select/deselect on mouse click tableView.setRowFactory( tableViewLambda -> { final TableRow<FilterInput> row = new TableRow<>(); row.addEventFilter( MouseEvent.MOUSE_PRESSED, event -> { final int index = row.getIndex(); if (index >= 0 && index < tableView.getItems().size() && tableView.getSelectionModel().isSelected(index)) { tableView.getSelectionModel().clearSelection(); event.consume(); } }); return row; }); return tableView; }