galera to com um problema, tenho uma tela que recebe um setVisible(false), como que faço pra recuperar ele. exemplo: se ela tiver com o botao clicado tem que aparecer com o botao.
e outra. como que faço para nao duplicar meu frame.
galera to com um problema, tenho uma tela que recebe um setVisible(false), como que faço pra recuperar ele. exemplo: se ela tiver com o botao clicado tem que aparecer com o botao.
e outra. como que faço para nao duplicar meu frame.
Para não duplicar um frame faça algo assim:
//seta que a nova janela esta aberta apos abrir
setJanelaImpressao(true);
Verifica se a janela esta aberta antes:
if(isJanelaImpressao()){
JOptionPane.showMessageDialog(null,"Tela de impressão já esta ativa!","Atenção",JOptionPane.INFORMATION_MESSAGE);
return;
}
Criando os métodos para controle.
private boolean janelaImpressao;
/**
* Objetivo: Setar a flag para abertura da tela de impressao
* Data: 07/08/2006
* @param janelaImpressao boolean
*/
public void setJanelaImpressao(boolean janelaImpressao) {
this.janelaImpressao = janelaImpressao;
}
/**
* Objetivo: Verificar se a janela de impressao ja esta ativa
* Data: 07/08/2006
* @return boolean
*/
public boolean isJanelaImpressao() {
return janelaImpressao;
}
Na nova janela quando fechar é preciso setar a janela para false.
Pedrosa valeu, isso resolve um pouco meu problema. mas eu preciso retornar meu form justamente como estava antes. alguem da uma ajuda ai.
valeu LizRocha , so mais uma duvida como vou fazer pra recuperar esse meu form hide?
form.show () ;
Opa, companheiro! Acho que posso te ajudar com a coisa de recuperar a janela invisibilizada.
Deixa eu ver se eu entendi: você tem uma janela, a qual você, num determinado instante e por uma determinada razão, “esconde”; depois você quer que ela apareça novamente exatamente como estava antes.
Bem, até agora hà pouco eu achava que o problema estava em você usar o setVisible(false). Eu ia sugerir usar outra estratégia: uma baseada na manipulação do método setDefaultCloseOperation( int ) . Eu ia até sugerir que você visse uma mensagem minha na qual eu explico esse método (a saber, http://www.guj.com.br/posts/list/48085.java#251524 ). Mas logo vi que no seu caso a janela será escondida automaticamente, sem que ninguém clique no X. Então procurei por um método “hide”, que escondesse a janela. Encontrei-o, mas ele está desatualizado [deprecated] e foi substituído por… setVisible(). Voltei ao zero.
Então, depois dessa enrolação toda, a minha sugestão é a seguinte: você cria um objeto para guardar nos seus atributos os valores dos componentes da janela a ser escondida. Chame o método que captura esses valores bem antes de esconder a janela; e quando for abri-la novamente, chame um método que passe os valores de volta para ela.
Gasta processamento e gasta memória, mas é uma solução. Ou então repense se você realmente precisa esconder essa janela. Lembre-se: “pra quem sabe olhar pra trás nenhuma rua é sem saída”(Gabriel, o Pensador).
Espero ter sido de ajuda.