Wpis z mikrobloga

Pisze apke w #javafx i mam pewien problem. Jest to apke todo list. W momencie kiedy dodaje nowy rekord do bazy danych, to nie odswieża mi się moja tabelka z zadaniami 'tableView'. Przy włączeniu apki mam metode loadDataFromDatabase i dziala super, ale gdy probuje ta metode wywolac w innej klasie to juz nie laduje danych na nowo do tabeli. Jakis pomysl?

Moja klasa Controller
https://pastebin.com/wJZBMJWH

oraz klasa w ktorej po nacisnieciu guzika dodaje nowy rekord do bazy i chce odwiezyc tabelke po tym
https://pastebin.com/S9ZgkXYj

myslalem by po prostu zrobic nowa instancje klasy Controller i wywolac jeszcze raz ta metode loadDataFromDB ale nie dziala, gdzies na necie znalazlem jeszcze kilka rozwiazan i tez nic nie dziala, z tym ze te rozwiazania sa zrobione tak ze wszystko jest w jednym pliku i jednej klasie, ja chce miec to w 2 klasach :<

pls help
#naukaprogramowania #programowanie #java
  • 16
  • Odpowiedz
@Brodeon: dzieki wielkie za odpowiedz!

wlasciwie nie, bo liczylem ze wystarczy dodac do bazy, a potem wywolac jeszcze raz metode ktora laduje wszystkie taski z bazy do tableview

sprobowalem zrobic cos takiego przy kliknieciu addTaskHandle:

refresh.tasks.add(new Task(create, due, desc));
lecz niestety nadal nic, tableView sie nie odswieza
  • Odpowiedz
@Brodeon:
no to wlasnie tutaj: refresh.tasks.add(new Task(create, due, desc)); to zrobilem, i niestety sie nie odswieza

mam tak:
Controller refresh = new Controller();
refresh.tasks.add(new Task(create, due, desc));

a w klasie Controller mam observableList ktory obsluguje tableView i nazywa sie tasks
  • Odpowiedz
@Brodeon: ah, zrobilem sobie na szybko dodatkowy przycisk w głównej klasie controller i rzeczywiscie, jak uzyje na nim metody add to wtedy od razu sie dodaje do tabelki, problem w tym ze jak uzywam tego w innej klasie do juz sie nie dodaje, nie mam pojecia czemu :(
  • Odpowiedz
@Brodeon: wydaje mi sie ze instancje klasy controller zrobilem dobrze, wiec wywolujac metode na tamtej klasie powinnna normalnie zadzialac
  • Odpowiedz
@Akke: Nie no, raczej nie trzeba używać instancji klasy controller. Powinieneś w metodzie (w kontrolerze) którą używa przycisk zastosować wszystkie rzeczy potrzebne do dodania itemu. Nie opłaca się rozwalać metod z kontrolera po innych klasach
  • Odpowiedz
@Brodeon: nie chce mi sie zaladowac plik .fxml ktory dzialal normalnie jesli mialem podlaczony inny controller, po zmianie controllera mimo przeniesienia wszystkich innych definicji, nie laduje sie, wyskakuje blad

javafx.fxml.LoadException:
/Users/ylwester/IdeaProjects/TODO%20List/out/production/TODO%20List/sample/addTask.fxml
  • Odpowiedz
@Brodeon: ale z drugiej strony jesli mam miec inny controller do nowego okna, to jak klikam przycisk w nowym oknie to mi nie updateuje tableview w zaden sposob :(
  • Odpowiedz