gostaria de mais uma ajuda de vcs.
estou com o seguinte problema:
estou fazendo um mini browser ejá esta quase tudo funcionando , mas o detalhe é que não consigo fazer funcionar o status bar funcionar como deveria , tipo quando esta carregando um site o statusbar tem que dizer “CARREGANDO” e uma barrinha do lado motrando o carregamento e quando termina de carregar dizer “TERMINADO”.
o meu codigo quando abro o browser fica com a palavra carregando mesmo o site já ter carregado.
alguem pode me dar uma luz.
que fica com a palavra CONCLUIDO e fica a barrinha do status correndo de um lado para o outro.
packagebrowser;importjava.awt.BorderLayout;importjava.awt.FlowLayout;importjavax.swing.JLabel;importjavax.swing.JPanel;importjavax.swing.JProgressBar;/* * StatusBar é um componente para trabalhar com barra de status. Muito similar a barra de estatus * de navegadores de internet (browsers). É composto basicamente por um String status, que * indica uma mensagem de processamento e uma barra de progressão (JProgressBar). * * Seu principal método é o setStatus(String, int, boolean). Para mais informações veja * a documentação do método. */publicclassStatusBarextendsJPanel{privateJProgressBarprogressBar;privateintprogress,loader,delay;privateJLabelstatusText;privateStringdefaulStatusText;publicStatusBar(){this.defaulStatusText="Concluído";this.initStatusBar(true);}privatevoidinitStatusBar(booleanindeterminate){this.delay=7;this.progress=0;this.statusText=newJLabel(defaulStatusText);this.progressBar=newJProgressBar();if(indeterminate){this.progressBar.setIndeterminate(true);}this.progressBar.setValue(progress);this.progressBar.setVisible(true);JPanelpanel=newJPanel();panel.setLayout(newFlowLayout());panel.add(this.statusText);panel.add(this.progressBar);this.setLayout(newBorderLayout());this.add(panel,BorderLayout.EAST);}/** * <p>Informa qual é o status atual do StatusBar</p> * * @param status = texto que indica o status corrente de processo. * @param load = valor em % (percentual de 0% a 100%) que equivale o processo. * @param loading = caso seja true então será gerado a aminação de x% a y% da barra de progresso. * Onde x% é o ultimo estado da barra de procresso e y% (<b>load</b>) é até onde a barra de progresso deve ser * carregada. Caso seja informado 100% no argumento <b>load</b> então a barra de progresso será * carregada até o fim e finalizada com o status padrão. * */publicvoidsetStatus(Stringstatus,intload,booleanloading){if(load<0||load>100){Exceptione=newException("O valor de procresso (load) deve estar entre 0% e 100%");e.printStackTrace();}else{if(load==100){finalizeLoad();}else{statusText.setText(status);progressBar.setValue(progress);progressBar.setVisible(true);if(loading){load(load);}else{progress=loader;progressBar.setValue(progress);}}}}privatevoidload(intload){loader=load;Threadprogressive=newThread(newRunnable(){publicvoidrun(){for(inti=progress;i<loader;i++){progressBar.setValue(i);try{Thread.sleep(delay);}catch(InterruptedExceptione){e.printStackTrace();}}progress=loader;progressBar.setValue(progress);}});progressive.start();}/* * <p>Finaliza a prograssão de barra de progresso e posiciona o status de processo no status * padão do {@link StatusBar}.</p> */publicvoidfinalizeLoad(){Threadprogressive=newThread(newRunnable(){publicvoidrun(){for(inti=progress;i<100;i++){progressBar.setValue(i);try{Thread.sleep(delay);}catch(InterruptedExceptione){e.printStackTrace();}}progress=0;progressBar.setValue(progress);progressBar.setVisible(false);statusText.setText(defaulStatusText);}});// progressive.start();}publicintgetProgress(){returnprogress;}publicvoidsetProgress(intprogress){if(progress<0||progress>100){Exceptione=newException("O valor de procresso (load) deve estar entre 0% e 100%");e.printStackTrace();}else{this.progress=progress;if(progress==100){finalizeLoad();}}}/* * <p> * Define o tempo de carregamento da barra de progresso. * </p> * @param delay : tempo de atraso (em ms). */publicvoidsetDelay(intms){delay=ms;}publicStringgetStatusText(){returnstatusText.getText();}publicvoidsetStatusText(StringstatusText){this.statusText.setText(statusText);}publicStringgetDefaulStatusText(){returndefaulStatusText;}publicvoidsetDefaulStatusText(StringdefaulStatusText){this.defaulStatusText=defaulStatusText;this.finalizeLoad();}}