1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Ajuda com Task - JavaFX

Fala galera, blz? Gostaria da ajuda de vocês com ProgressBar e Task no javaFX se possível.

Tenho um progressBar que ter seu valor alterado. Tenho o seguinte código:

Task task = new Task<Integer>() {
        @Override
        protected Integer call() throws Exception {
            for (int i = 1; i <= 427; i++) {
                if (isCancelled()) {
                    break;
                }
                updateProgress(i, 427);
                updateMessage("Atualizando: "+i+" de "+427);
                Thread.sleep(1000);
            }
            return 427;
        }
    };
    pbStatus.setProgress(1);
    pbStatus.progressProperty().bind(task.progressProperty());
    lbProgresso.textProperty().bind(task.messageProperty());
    ExecutorService executor = Executors.newFixedThreadPool(427, new ThreadFactory() {
                @Override
                public Thread newThread(Runnable r) {
                    Thread t = new Thread(r);
                    t.setDaemon(true);
                    return t;
                }
            });
    executor.execute(task);

    /*
        //Não funciona também
        new Thread(task).start() 
    *\

O problema é o seguinte, o código roda sem erro nenhum, só que chega em um certo momento que o meu ProgressBar (pbStatus) não atualiza mais... Fica parado em 21 / 91 de 427.

Alguém sabe oq pode ser?

Obrigado desde já.

  • Cara, eh isso mesmo, você quer deixar atualizando uma simples barra de progresso por +ou- 7 min? santa paciência.

    Janerson Douglas   23 de jun de 2015
  • Na vdd não vai ter o Thread.sleep(1000). Quero preencher com os dados do banco, que no caso estou representando como 427... o problema é que chega em um ponto que o progressBar não é mais atualizado.

    Bruno Santiago   23 de jun de 2015
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags javafx java ou faça a sua própria pergunta.