Queria a Ajuda… pra saber como verificar se o frame ja está aberto?
será que alguem pode dar alguma ajuda
desde ja agradeço
Queria a Ajuda… pra saber como verificar se o frame ja está aberto?
será que alguem pode dar alguma ajuda
desde ja agradeço
Queria a Ajuda.. pra saber como verificar se o frame ja está aberto?será que alguem pode dar alguma ajuda
desde ja agradeço
private void MenuCadVaraActionPerformed(java.awt.event.ActionEvent evt) {
if(cadsvar == null) {
cadsvar = new Cad_Simples(VARA); //cria um novo objeto caso nao tenha sido criado
cadsvar.setSize(588, 369);
centraliza(cadsvar);
desktop.add(cadsvar);
cadsvar.setVisible(true);
}
}
Tente o método isVisible():
// supondo que seu JFrame chame-se janela
if (janela.isVisible()) {
// está visível
} else {
// não está
}
Tente o método isVisible():
// supondo que seu JFrame chame-se janela if (janela.isVisible()) { // está visível } else { // não está }
Pocha marco é gambiarra usar o isVisible() para saber se o Frame esta ou não aberto, se você nao entendeu o código que eu postei posta a duvida.
Eu utilizo assim
Clientes telacli;
if (telacli == null) {
telacli = new Clientes();
telacli.setVisible(true);
} else {
telacli.setVisible(true);
telacli.setState(JFrame.NORMAL);
}
Eu utilizo assimClientes telacli; if (telacli == null) { telacli = new Clientes(); telacli.setVisible(true); } else { telacli.setVisible(true); telacli.setState(JFrame.NORMAL); }
é foi essa a idéia que eu tentei passar.. blza fico melhor que o meu copy/paste ..
Tente o método isVisible():
// supondo que seu JFrame chame-se janela if (janela.isVisible()) { // está visível } else { // não está }Pocha marco é gambiarra usar o isVisible() para saber se o Frame esta ou não aberto, se você nao entendeu o código que eu postei posta a duvida.
Pq gambiarra?
Tente o método isVisible():
// supondo que seu JFrame chame-se janela if (janela.isVisible()) { // está visível } else { // não está }Pocha marco é gambiarra usar o isVisible() para saber se o Frame esta ou não aberto, se você nao entendeu o código que eu postei posta a duvida.
Pq gambiarra?
vc consegue ver a diferença entre os códigos abaixo ?
primeira opção:
Clientes telacli;
if (telacli == null) {
telacli = new Clientes();
telacli.setVisible(true);
} else {
telacli.setVisible(true);
telacli.setState(JFrame.NORMAL);
}
Agora usando o visible
segunda opção:
Clientes telacli = new Clientes;
if (telacli.isVisible()) {
} else {
}
Usando o visible eu preciso da instancia de uma classe. Agora utilizando a primeira opção eu instancio quando é necessário a classe. Ou seja a primeira opção é código de uma pessoa
que entende o que é instanciar uma classe e qual o impacto disso. ok?? Não é mais elegante a primeira opção?
Sem falar que quando vc usa o isVisible para tratar esse problema tu ta atrelando a visibilidade da janela ao fato da mesma não existir isso sim está totalmente errado…
Depende do que vc chama de elegante…
Existem varias formas de se lidar com o problema, eu posso ter uma tela q recebe a outra por referencia e garanto que essa tela não é igual a nulo…
No exemplo que dei acima, o que vc disse vai por agua abaixo…
Por favor, menos arrogância e mais imparcialidade…
Depende do que vc chama de elegante…Existem varias formas de se lidar com o problema, eu posso ter uma tela q recebe a outra por referencia e garanto que essa tela não é igual a nulo…
No exemplo que dei acima, o que vc disse vai por agua abaixo…
Por favor, menos arrogância e mais imparcialidade…
Eu penso assim renamed,
Quero saber se uma janela existe, o que fazer ?
Uma janela é um objeto MUITO BOM então
if(janela != null)
System.out.println("Janela existe");
else
System.out.println("Janela não existe");
Eu quero saber se a janela está visível
if(janela.isVisible())
São duas coisas diferentes, agora se tu não tempo pra fazer do jeito certo aí sinto muito. Agora o fato da janela estar com visible false não tem nada haver com o fato de ela estar fechada.
Continuando …
Um exemplo de como separar o visible do fechado ou aberto neste caso
Janela j = new Janela
//estou passando a janela no construtor
OutraJanela outra = OutraJanela(j)
//fechei a janela anterior
j.dispose();
j=null;
Se alguém tem uma solução melhor, poste a solução eu acho este o melhor dos mundos, até dei uma ajuda para o garbage collector. :lol:
Não entendi o porque do gambiarra. A pergunta original foi:
Se ele está aberto e não se ele existe. Se fosse para verificar se ele existe, concordo que bastaria usar:
if (janela != null) {
// existe
} else {
// não existe
}
Agora como verificar se ele está “aberto”? Esse aberto pode ser interpretado como utilizável para o usuário, certo? Logo, verificar se ele está visível parece bem plausível.
Ae Galera… me Ajudaram bastante
pra quem quer saber se o frame esta aberto utiliza
if(jframe == null){
}
e quem quiser saber se está visivel
if(jframe.isVisible()){
}
vlw Galera 
Resolvido mais ou menos
por exemplooo
to no meu formulario principal… dai abro um formulario que tem alguns campos
blz… preencho metade deles e fecho o formulario
dai na hora que eu abro esse formulari de novo
ele vem com os campos preenchidos como eu tinha deixado antes de fechar
ou seja… se eu abrir o formulario uma vez… ele vai fikar carregado na memoria até eu fechar o programa inteiro??
ou intão… ao eu fechar o formulario chamado … tem como deixar ele null de novo… pra quando eu abrir ele não aparecer tudo de novo???
Ele ficará na memória enquanto houver referências a ele ou a máquina virtual do Java for encerrada.
Para evitar que o formulário fique preenchido como antes, instacie-o novamente antes de mostrar. Por exemplo, suponhamos que temos um método mostraFormulario(). Ao invés de deixar somente assim:
void mostraFormulario() {
formulario.setVisible(true);
}
Fazemos isso:
void mostraFormulario() {
formulario = new Formulario(); // instanciamos novamente, criando um objeto totalmente novo
formulario.setVisible(true); // e agora sim mostramos
}