Pessoal…eu queria utilizar um jProgressBar da seguinte forma, quando ele terminar de carregar ele abrir uma outra janela.
Ja testei varios codigos mais nenhum funcionou…Vcs poderiam me ajudar???
Vlw
Pessoal…eu queria utilizar um jProgressBar da seguinte forma, quando ele terminar de carregar ele abrir uma outra janela.
Ja testei varios codigos mais nenhum funcionou…Vcs poderiam me ajudar???
Vlw
O que exatamente você quer abrir, se puder colocar um pedacinho do codigo para analisarmos…
Tipo assim…quando a aplicação abrir eu vou ter o jProgressBar em um jPanel, e quando ele terminar de carregar eu queria q desse um setVisible(false) no jPanel q a jProgressBar esta e um setVisible(true) no outro jPanel que esta oculto. Deu pra entender mais ou menos o to tentando fazer?
Como você está incrementando seu JProgressBar?
Está usando valores determinados ou usou o modo indeterminado?
veja: [url]http://www.guj.com.br/posts/list/48799.java[/url]
Se você setou o valor máximo dele é só você verificar se o valor já chegou no máximo usando o método
getValue() no método que incrementa o JProgressBar, ficou meio confuso? Posta mais ou menos como você fez.
public void incProgress(int progress) {
final int theProgress = progress;
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
progressBar.setValue(theProgress);
getOwner().repaint();
if(progress >= 100){setVisible(false);}
}
});
}
É uma SplashScreen (Tela de apresentação) que você está tentando fazer?
Eh uma splash sim…agora tipo assim…eu sou totalmente iniciante e para tentar fazer a aplicação eu to usando swing(peguei o jProgressBar1 e soltei no jPanel), então o pensamento eh o seguinte…na hora q inicio a aplicacao apareceria o jProgressBar em cima do jPanel e kuando ele terminar de carregar ele iria sumir e aparecer o novo jPanel.
entendeu mais ou menos minha ideia confusa??

Ok!
1ª Maneira:
É o seguinte você tem 3 arquivos:
Main.class, é a que inicia tudo
MainWindow.class é o formulário/panel principal
SplashScreen.class que é o seu JPanel com imagem e o JProgressBar
no Main você instancia o MainWindow.
no MainWindow no construtor você instancia o SplashScreen e set o valor máximo dela (use o método no final do POST: setProgressMax) antes de tudo, e após toda a iniciação dos componentes e tudo mais você coloca:
setVisible(true) para mostrar o MainWindow e em seguida você coloca a instância do SplahScreen .dispose(); ou setVisible(false);
2ª maneira: Usa a SplashScreen do GUJ
http://www.guj.com.br/java.tutorial.artigo.25.1.guj
3ª maneira: Eu comecei com esta.
Usa a Fast Splash Screen
http://www.randelshofer.ch/oop/javasplash/javasplash.html
http://www.javalobby.org/java/forums/t18109.html (com o código fonte)
4ª maneira: Com temporizador
http://lossurdojava.blogspot.com/2007/02/swing-exemplo-de-splash-screen.html
5ª e última maneira: O suporte do Java 6 para SplashScreen
http://java.sun.com/developer/technicalArticles/J2SE/Desktop/javase6/splashscreen/
// Funções para manipulação da barra de progresso
public void setProgressMax(int maxProgress) {
progressBar.setMaximum(maxProgress);
}
public void incProgress(int progress) {
final int theProgress = progress;
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
progressBar.setValue(theProgress);
getOwner().repaint();
}
});
}
Qualquer coisa escreve mais!