Como monitorar a inicialização de uma aplicação em swing

Ta bom, aprendi a fazer minha splash screen, mas e agora como eu faço pra monitorar a inicialização da minha aplicação para eu fazer uma barrinha de progresso realistica (já aprendi a fazer uma mentirosa, utilizando sleep() )??

Alguem ai sabe???

Amigo,

acho que o que você procura, você conseguirá com Thread.

Se a sua classe de Splash for uma thread ela não terá o efeito de congelamento e os valores de progresso poderão ser acrescido pela aplicação que está sendo iniciada.

fw.

Então, é mais ou menos isso que eu quero mesmo.

Mas tipo como que faço pra minha thread (ou outro mecanismo) enchergar a porcentagem da aplicação carregada. Exemplo:

int porcento = aplicacao.getBytesCarregados();
barra.setPorcentoCarregado( porcento );

Esse codigo não existe…o java me da suporte pra fazer algo parecido???

Exemplo: Como que é o codigo daquela barra de progresso que aparece quaqndo vc inicializa o eclipse, alguem sabe?

a) Mude para o Java 6.0 que tem esse recurso de “splash”.

b) O Eclipse tem uma barra de porcentagem que é parcialmente escrita em C, se não me engano. Não há algo que diz que “a JVM carregou 10% de sua aplicação”.

[quote=maruero]Ta bom, aprendi a fazer minha splash screen, mas e agora como eu faço pra monitorar a inicialização da minha aplicação para eu fazer uma barrinha de progresso realistica (já aprendi a fazer uma mentirosa, utilizando sleep() )??

Alguem ai sabe???[/quote]

Eu resolveria assim:

Dividiria a inicialização em etapas.Digamos 5.

Cada etapa está encodada em um método.

No main da aplicação eu chamo as 5 etapas e medida que eu as chamo, vou acrecentando a variavel etapa.Ex: etapa++.

A thread que mostra a splash então faz a famosa conta (etapa / totaletapas) * 100

Thingol já estou trabalhando com JSE6. Puts então se não tem como eu saber atravéz da JVM, vai por água abaixo oque eu estava pensando.

Já criei várias “barras de progressos” em Flash, mas é assim tão fácil pq ele te da suporte, vc consegue saber com um método o quanto sua aplicação (swf) foi carregado, achei que teria algo do tipo e Java.

Boone gostei da sua idéia, vou ver se dar pra min dividir o negócio em etapas, qualquer coisa eu volto aq.

Valew ai galera!

Acho que a solução que você precisa é algo assim:

Programa principal:

  1. Carregando as classes A…
  2. Criando as classes X…
  3. Criando as classes X…
  4. Acessando o banco de dados…
  5. Criando as classes X…

Na thread do splash, ele apenas mantem o foco de controle independentemente e um método para acrescentar o progressbar.

entre os passos 1 e 2 você chama este método, depois entre o 2 e 3 e assim sucessivamente… o efeito final será aquele que você tem no flash.

certo?