Me explique esse codigo

1 resposta
mau_rs

Pessoal estava querendo fazer que quando uma Jinternal Frame estivesse aberta ela não abrisse de novo, mas queria fazer usando valores booleanos, tentei assim mas não deu certo porque sempre quando abri-lá o valor do boolean vai retornar a ser false:

if(e.getSource() == porDescricao){
boolean a = false
  if(a==false){
     janelaPesquisarServicosPorDescricao janelapes= new janelaPesquisarServicosPorDescricao();
     principal.painel.add(janelapes);
     janelapes.setVisible(true);
     a=true;
}

mas nao sei onde posso colocar o boolean pra funcinar corretamente.
Vi este topico na net mas nao sei como fazer, diz pra colocar os JInternalFrames abertos dentro de um vetor:

JDesktopPane desktop = new JDesktopPane();  
desktop.getAllFrames();

1 Resposta

Vini_Fernandes

Cara, faria algo assim:

boolean frameAberto = meuFrame.isOpen();
if (! frameAberto)
   meuFrame.open();

OBS: entenda o metodo open() como uma implementacao necessaria para abrir seu frame, bem como isOpen() sendo uma implementacao que permite ao programador verificar se o frame esta aberto ou nao.

abracao

Criado 7 de fevereiro de 2009
Ultima resposta 8 de fev. de 2009
Respostas 1
Participantes 2