Normalmente, isso é tão simples quanto carregando a imagem de um URL em segundo plano e acompanhando seu progresso vinculando o propriedade de progresso da barra de progresso para a propriedade de progresso de a imagem . Isso replicaria a funcionalidade do código Android que você postou com muito menos código.
ProgressBar bar = new ProgressBar();
Image image = new Image(url, true);
bar.progressProperty().bind(image.progressProperty());
A única coisa complicada aqui é que o código não Android que você postou não é o mesmo que o código Android em funcionalidade. Em vez de recuperar uma imagem de um URL, o código não Android está recuperando a imagem de um banco de dados.
Se você quiser monitorar o progresso da recuperação de imagens armazenadas em um banco de dados, precisará fazer algumas coisas extras:
- Em um campo adicional no banco de dados, armazene o tamanho da imagem.
- Armazene a própria imagem em um Blob no banco de dados.
- Recupere o tamanho total da imagem do banco de dados quando necessário.
- Recupere o Blob do banco de dados como um fluxo .
- Registrar um URL personalizado protocolo que é capaz de obter o fluxo de banco de dados e converter o fluxo em uma URL. (Alternativamente, você pode hospedar um servlet de aplicativo da web que faz a conversão e retorna os dados sobre http ).
- Agora você pode carregar a imagem em segundo plano usando seu protocolo de URL personalizado e monitorar seu progresso por meio de sua propriedade progress como antes.
Fazer o passo 5 é complicado e não vou escrever o código para fazê-lo aqui, pois criar esse código me levaria muito tempo.