В TableView использую ObservableList<Product> productList.
Чтобы изменить необходимые данные- использую объект из коллекции, но после сохранения ничего не изменяется до тех пор, пока не будет добавлен и удалён элемент. Как с этим бороться?
Объект получаю таким образом:
table.getSelectionModel().selectedItemProperty().addListener((obs, oldSelection, newSelection) -> {
if (newSelection != null) {
selectedProd=(Product)table.getSelectionModel().getSelectedItem();
//метод(),в котором отпрвляю объект и редактирую его
}
});
Если использовать данные типа Property проблема обновления должна решиться для примера:
class Product{
StringProperty testName ;
public Product(String testName ){
this.testName = new SimpleStringProperty(testName);
}
public StringProperty getTestName() {
return testName;
}
public void setTestName(StringProperty testName) {
this.testName = testName;
}
}
И уже в контроллере
nameColumn.setCellValueFactory(cellData -> cellData.getValue().getTestName());
Если я все правильно помню при редактировании testName автоматически будет обновляться и таблица. И тогда можно обойтись и без table.refresh();
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости