Zwykle jest to tak proste, jak ładowanie obrazu z adresu URL w tle i śledzenie jego postępów poprzez powiązanie właściwość postępu paska postępu do progress obraz . To powielałoby funkcjonalność kodu Androida, który opublikowałeś, przy znacznie mniejszej ilości kodu.
ProgressBar bar = new ProgressBar();
Image image = new Image(url, true);
bar.progressProperty().bind(image.progressProperty());
Jedyną trudną rzeczą jest to, że opublikowany kod inny niż Android nie jest tym samym, co kod Androida pod względem funkcjonalności. Zamiast pobierać obraz z adresu URL, kod inny niż Android pobiera obraz z bazy danych.
Jeśli chcesz monitorować postęp pobierania obrazów przechowywanych w bazie danych, musisz zrobić kilka dodatkowych rzeczy:
- W dodatkowym polu w bazie danych zapisz rozmiar obrazu.
- Przechowuj sam obraz w obiekcie Blob w bazie danych.
- W razie potrzeby pobierz całkowity rozmiar obrazu z bazy danych.
- Pobierz obiekt Blob z bazy danych jako strumień .
- Zarejestruj niestandardowy adres URL protokół który jest w stanie pobrać strumień bazy danych i przekonwertować strumień na adres URL. (Alternatywnie można hostować serwlet aplikacji internetowej, który dokonuje konwersji i zwraca dane przez http ).
- Teraz możesz załadować obraz w tle za pomocą niestandardowego protokołu URL i monitorować jego postęp za pomocą właściwości progress, jak poprzednio.
Wykonanie kroku 5 jest trudne i nie napiszę kodu, aby to zrobić tutaj, ponieważ stworzenie takiego kodu zajęłoby mi dużo czasu.