Ako niko ne moze da mi pomogne sto se tice toga valjda moze u vezi neceg drugog.
Kako da napravim tabelu sa observable listom da svakih 2 min se lista osvjezi kada promjenim vrijednosti u nekoj hash mapi?
Imam hashmapu koja predstavlja kursnu listu koja se nalazi na serveru i svakih 2 minute se naprave nove vrijednosti i ubace u hashmapu.
Na klijentskoj strani imam tabelu koju sam povezao sa observable listom koja prati promjene u hashmapi.
I na dolje napisan nacin sam ubacio tu listu u tabelu. kada pokrenem aplikaciju, tabela se popuni nekim vrijednostima, ali nece da uradim refresh kada se kreiraju i dodaju nove vrijedosti u tabelu.
Gdje sam pogrijesio? U cemu je problem?
Code:
public static HashMap<String, Double> kursnaLista;
double eur = 1.2 + (8.2 - 1.2) * rand.nextDouble();
double hrk = 1.2 + (8.2 - 1.2) * rand.nextDouble();
double usd = 1.2 + (8.2 - 1.2) * rand.nextDouble();
double nok = 1.2 + (8.2 - 1.2) * rand.nextDouble();
ServerBanka.kursnaLista.put("EUR", eur);
ServerBanka.kursnaLista.put("HRK", hrk);
ServerBanka.kursnaLista.put("USD", usd);
ServerBanka.kursnaLista.put("NOK", nok);
TableColumn<Map.Entry<String, Double>, String> valuta = new TableColumn<>("Valuta");
valuta.setCellValueFactory((TableColumn.CellDataFeatures<Map.Entry<String, Double>, String> p) -> new SimpleStringProperty(p.getValue().getKey()));
TableColumn<Map.Entry<String, Double>, String> kurs = new TableColumn<>("Kurs");
kurs.setCellValueFactory((TableColumn.CellDataFeatures<Map.Entry<String, Double>, String> p) -> new SimpleObjectProperty(p.getValue().getValue()));
ObservableList<Map.Entry<String, Double>> items = FXCollections.observableArrayList( ((HashMap<String, Double>) clientBanka.ois.readObject()).entrySet());
final TableView<Map.Entry<String, Double>> kursnaListaTabela = new TableView<>(items);
kursnaListaTabela.setItems(items);
kursnaListaTabela.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY);
kursnaListaTabela.getColumns().addAll(valuta, kurs);
panel.add(kursnaListaTabela, 2, 3, 2, 9);