Estou com um pequeno problema. É o seguinte, estou desenvolvendo aqui um JMenu, para abrir uma JInternalFrame num JDesktopPane, blza!
Ocorre que quando clico no JMenuItem (opção de cadastrar) ele abre corretamente o JInternalFrame (mudando o visible de false para true). No entanto, quando fecho essa janela e tento abrir novamente clicando nessa mesma opção “Cadastrar” o programa simplesmente não abre a JInternalFrame pela segunda vez.
Primeira:
Sobrescrever o método close do JInternalForm para
que a janela não feche e apenas execute o setVisible(false)
Segunda:
Quando vc fecha o JInternalForm ele é coletado pela garbage
Collection, já que o JInternalForm é um objeto e vc pode visualizá-lo
novamente através de uma nova instância do seu JInternalForm. new JInternalForm.
Eu aconselho a segunda opção, pois quando o JInternalform não
estiver sendo utilizado ele não estará alocado em memória economizando
recursos.
Zeed01
Boa tarde colegas !
tandrade:
Onde você esta criando esse objeto frame ?
E como você fazendo quando pede para fechá-lo ?
Um abraço.
L
luciene.silva
então tandrade, eu estava com o mesmo problema…
Vou colocar como resolvi o meu problema:
Ou seja, dessa forma eu deixo abrir apenas uma tela de consulta, por isso verifico se o getIndexOf é -1.
Lembro que no meu caso não estava abrindo pela segunda vez pq eu precisava adicionar o meu jinternalframe novamente no meu jdesktoppanel. Acho que no seu caso deve ser isso tb…Quando vc abre a primeira vez, ele já já adicionado no seu jdesktoppanel, quando vc fecha essa tela, vc tá retirando-a na verdade do seu jdesktoppanel…Vcentão precisa incluí-la novamente.
Se vc olhar meu código, eu só deixo pra incluir a janela no desktop quando o cara clicar…