Será que eu entendi bem a pergunta? Qualquer tutorial básico de swing fala dessas coisas.
cleyvison
Obrigado…
dyorgio
O correto para as janelas swing (JDialog e Jframe) eh
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE)
e utilizar setVisible(false);
o metodo dispose() não deveria ser usado por um
programador, se o objetivo eh apenas fechar a janela.
M
Murl
dyorgio:
o metodo dispose() não deveria ser usado por um
programador, se o objetivo eh apenas fechar a janela.
Poderia falar mais a respeito?
Antes eu usava setVisible(false); na hora de fechar uma janela… Mas ai eu pensei… Isso não ocupa memoria demais? Deixar uma coisa aberta, aparentemente fechada pro usuario, ao invés de dar uma dispose() não pode liberar memoria?
É realmente uma dúvida, sou novo no desenvolvimento de aplicações e gostaria de saber mais a respeito.
dyorgio
se o seu objetivo é liberar memoria
basta setar o setDefaultCloseOperation() com DISPOSE_ON_CLOSE,
o Swing fara o dispose para vc apos vc dar o setVisible(false)
Alem disso, o setVisible(false) garante a chamada dos windowListeners corretamente.
Quem diz isso é o javadoc, eu só estou repassando
cleyvison
seria algo assim?
//setDefaultCloseOperation() com DISPOSE_ON_CLOSE, ...if(objeto==click){setVisible(true);}
e feito isso a janela se fecha?não deixa apenas de ser apresentada?
dyorgio
não entendi seu codigo…estava comentado…
bem, com o setDefaultCloseOperation(DISPOSE_ON_CLOSE)
o Swing da o dispose internamente quando vc chama setVisible(false)…
acho que era isso que vc queria saber
Matheus_Leandro_Ferr
dyorgio:
O correto para as janelas swing (JDialog e Jframe) eh
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE)
e utilizar setVisible(false);
o metodo dispose() não deveria ser usado por um
programador, se o objetivo eh apenas fechar a janela.
Apenas uma dúvida.: Se o método dispose() não deve ser usado (por um programador) para fechar uma janela, para que usa-lo ? Ou melhor, pra q ele foi criado?
dyorgio
para o caso de vc usar setDefautOperation(DO_NOTHING_ON_CLOSE);
ai o programador é obrigado a usa dispose() para
fechar a janela e liberar seus recursos.
Bah cara, eu ia fazer um site que ia usar o VeSPague…
mais não rolou
Matheus_Leandro_Ferr
Sim, nesse caso o uso do dispose() é obrigatório mesmo…
É meio arriscado a combinação desses 2 métodos! Mesmo o javadoc garantindo uma chamada dos WindowListeners quando usar o setVisible(false),
O Javadoc especifica que o melhor uso do setVisible() é para efeitos de exibição.