Normalt er dette så simpelt som indlæser billedet fra en url i baggrunden og spore dets fremskridt ved at binde progress-egenskaben for statuslinjen til progress-egenskaben til billedet . Det ville replikere funktionaliteten af den Android-kode, du sendte med meget mindre kode.
ProgressBar bar = new ProgressBar();
Image image = new Image(url, true);
bar.progressProperty().bind(image.progressProperty());
Det eneste vanskelige her er, at den ikke-Android-kode, du har sendt, ikke er den samme som Android-koden i funktionalitet. I stedet for at hente et billede fra en URL, henter ikke-Android-koden billedet fra en database.
Hvis du vil overvåge fremskridt med hentning af billeder, der er gemt i en database, skal du gøre et par ekstra ting:
- I et ekstra felt i databasen gemmes størrelsen af billedet.
- Gem selve billedet i en klat i databasen.
- Hent den samlede størrelse af billedet fra databasen, når det kræves.
- Hent Blob'en fra databasen som en strøm .
- Registrer en tilpasset webadresse protokol som er i stand til at hente databasestrømmen og konvertere strømmen til en URL. (Alternativt kan du være vært for en webapplikationsservlet, som foretager konverteringen og returnerer dataene over http ).
- Nu kan du indlæse billedet i baggrunden ved hjælp af din brugerdefinerede URL-protokol og overvåge dets fremskridt via dets statusegenskab som før.
At udføre trin 5 er vanskeligt, og jeg vil ikke skrive koden for at gøre det her, da det ville tage mig lang tid at oprette en sådan kode.