Galera, a dúvida é bem básica, mas ainda não consegui encontrar a resposta…
É o seguinte, criei um classe extendendo um JWindow, na verdade implementei nessa classe uma tela de Splash, a idéia é que depois da apresentação do Splash, abra uma outra janela que seria minha tela de login, o problema é que não sei como fechar o JWindow, ou seja fico com duas telas abertas o Splash (JWindow) e a tela de Login.
Já usei os comandos:
dispose(); //Mas não funciona com JWindow
doDefaultCloseAction(); //Mas não funciona com JWindow
o único que fecha a janela é o comando: System.exit(0); //porém alem de fecha a janela ele fecha toda aplicação, e o que eu desejo é fechar somente o JWindow.
Desde já agradeço pela ajuda!
[quote=Cavalo_de_Troia]Galera, a dúvida é bem básica, mas ainda não consegui encontrar a resposta…
É o seguinte, criei um classe extendendo um JWindow, na verdade implementei nessa classe uma tela de Splash, a idéia é que depois da apresentação do Splash, abra uma outra janela que seria minha tela de login, o problema é que não sei como fechar o JWindow, ou seja fico com duas telas abertas o Splash (JWindow) e a tela de Login.
Já usei os comandos:
dispose(); //Mas não funciona com JWindow
doDefaultCloseAction(); //Mas não funciona com JWindow
o único que fecha a janela é o comando: System.exit(0); //porém alem de fecha a janela ele fecha toda aplicação, e o que eu desejo é fechar somente o JWindow.
Desde já agradeço pela ajuda!
[/quote]
Esperimente
window.hide()
O problema do hide() é que a janela continuará ativa em memória… Tente usar o dispose() e em seguida um repaint() no form principal…
Galera nenhum dos comandos estão disponível para uso, segue o trecho do codigo:
public static void main(String args[]) {
new TelaSplash();
// Rotina para exibicao do texto no carregamento do sistema
int i=10;
for (int j = 1; j <= 1500; j++) {
if(j==(1500/i)){
jLabelTextoDinamico.setText(vetTexto[i-1]);
i--;
try{
Thread.sleep(1200);
}catch(Exception e){
e.printStackTrace();
}
}
}
exibirTelaLogin(); //metodo para chamar minha tela de login
// System.exit(0); // se deixar essa linha ativa o sitema é fechado assim que a tela de login for exibida
}
}
Bom é isso, preciso fechar essa tela splash que é um JWindow!
Agradeço pelas respostas…
Desta maneira funcionou o Dispose:
import javax.swing.JWindow;
import javax.swing.JButton;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.Color;
public class UsandoJWindow{
public UsandoJWindow()
{
final JWindow janela = new JWindow();
janela.getContentPane();
janela.setLayout( null );
janela.setSize(500, 300);
janela.setLocationRelativeTo( null );
janela.setBackground(Color.BLACK);
janela.setVisible( true );
btn_fechar = new JButton("Fechar");
btn_fechar.setBounds(5, 5, 100, 30);
btn_fechar.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
janela.dispose();
}
});
janela.add(btn_fechar);
javax.swing.Daniel, quando for postar códigos, por favor, use a tag code:
Também evite ressuscitar tópicos muito antigos. Esse aqui era de 2008.