olá, sou novo aqui no forum como membro, mas já peguei muita ajuda daqui em tempos dificei,
como o que estou passando agora.
meu problema é o seguinte:
conheço a classe JOptionPane que possui um método static chamado showConfirmationDialog(Component, Object, String , int);
quando chamo esse método o controle do programa fica com ele, e só devolve o controle após o usuario clicar em algum butão.
tentei fazer algo parecido com JFrame fazendo assim:
public void showFrame()
{
JFrame frame = new JFrame("Sair");
setSize(100, 150);
setContentPane(getPanel());
//ESSE MÉTODO getPanel() retorna um JPanel que possui dois butões : SIM e NAO
// O MÉTODO actionPerformed do ActionListener dos butões possui a instrução : end = true;
setVisible(true);
try
{
while(!end)
Thread.sleep(100);
}
catch(InterruptedException e)
{
return;
}
}
Meu problema é: chamei esse método através de uma sobreposição de windowClosing de outro frame mas o que acontence é que a frame criada com a chamada do método não tem nenhum componente no JPanel
e se você tentar fechar ele da maneira convencional, nada acontence! ele simplesmente trava! só sai com Ctrl-Alt_Del e ainda pede para finalizar tarefa!
alguem poderia me explicar porquê isso acontece, ou então postar um codigo que funcione(sem utilizar JOptionPane) ?