У меня есть табличное представление, которое всегда хорошо заполняется,
Мой главный контроллер:
@Override
public void initialize(URL location, ResourceBundle resources) {
TableColumn tblc = new TableColumn("Test");
tblc.setCellValueFactory(new PropertyValueFactory<Test, Integer>("TestData"));
tbl1.getColumns().setAll(tblc);
tbl1.setItems(aHandler.getInstance().getData());
...
Мой тестовый класс:
public class Test extends Thread {
public Integer TestData=1;
....
Класс Test1который расширяет класс Test и перезаписывает его запуск:
public class Test1 extends Test {
@Override
public void run() {
Timer timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask(){
public void run() {
setTestData(getTestData()+1);
System.out.println(getTestData());
}
}, new Date(), 1000);
...
Мой aHandler:
public class aHandler {
private ObservableList<Test> TestObservableList = FXCollections.<Test>observableArrayList();
public ObservableList<Test> getData() {
return TestObservableList;
}
Так как tbl1 связан с aHandler.getInstance (). GetData (), первый раз, когда яинициализировать класс, я вижу столбец Test, заполненный значением 1, как TestData = 1;но когда таймер начинает изменять TestData, табличное представление не получает новое назначенное значение.Что я делаю не так?
Я старался изо всех сил, чтобы объяснить проблему, пожалуйста, дайте мне знать, если это все еще неясно, я объясню больше.
РЕДАКТИРОВАТЬ: чтобы лучше объяснить, яхочу автоматически обновлять TableView при каждом изменении значения TestData. Это моя конечная цель.