[Resolvido] - Como saber se um JinternalFrame está aberto ou fechado?
3 respostas
felipehts
Bom dia galera !
É o seguinte eu tenho um JDesktopPane dentro de um JFrame, no qual varios JinternalFrame são abertos, porém gostaria de limitar à abertura do JinternalFrame, ou seja quando o mesmo JinternalFrame já estiver aberto, não poderá ser aberto novamente ate ser fechado, tentei fazer isso usando ‘instanceof’ (exemplo abaixo), porém pensando em P.O.O não fica elegante, já que se eu tiver 10 JinternalFrame terei que comparar cada objeto, ficando assim muito “feio”, alguém poderia me passar uma sugestão para verificar se um determinando JinternalFrame já está aberto, penando em P.O.O ??? Agradeço a todos…vlw
seguinte, você pode conhece Padrões de Projetos (Design Patters)… Existe um que chama-se “Singleton”… Ele existe para que o programador possa garantir apenas uma instância de um objeto. É muito simples. Vou jogar um exemplo qualquer aqui, e depois você pesquisa no g@@gle blz?
publicclassCadastro{//A propria classe tem um atributo que é do seu próprio tipo.privatestaticCadastrosingleton==null;//Usará este método para "pegar" o objeto desta classe...publicstaticCadastrogetCadastro(){//Se ele for nulo, cria um novoif(singleton==null){singleton=newCadastro();}//Se ele não for nulo, é pq ele ja existia :)//retorna elereturnsingleton;}}
felipehts
d34d_d3v1l:
Oi meu amigo,
seguinte, você pode conhece Padrões de Projetos (Design Patters)… Existe um que chama-se “Singleton”… Ele existe para que o programador possa garantir apenas uma instância de um objeto. É muito simples. Vou jogar um exemplo qualquer aqui, e depois você pesquisa no g@@gle blz?
publicclassCadastro{//A propria classe tem um atributo que é do seu próprio tipo.privatestaticCadastrosingleton==null;//Usará este método para "pegar" o objeto desta classe...publicstaticCadastrogetCadastro(){//Se ele for nulo, cria um novoif(singleton==null){singleton=newCadastro();}//Se ele não for nulo, é pq ele ja existia :)//retorna elereturnsingleton;}}
Valeu pela dica ! vou pesquisar mais um pouco aqui sobre o ‘Singleton’, parece bem interessante…vlw
kaberdock
eu estou tentandi fazer utilizando singleton, mas o problema é quando vc fecha o JInternalFrame e pede para abrir novamente o JInternalFrame e ele não abre, provavelmente porque já existe uma instância do mesmo só que oculta, gostaria de saber como posso esxcluir este singleton para criar um novo