Evento ao fechar

7 respostas
makoto

Olá companheiros de luta, estou escrevendo um bloquinho de Notas personalizado dai surgiu a seguinte necessidade:
quando eu fechar o programa ele deve guardar a informação de seu size atual -EX:400,400- para quando abrir ter a mesma dimensão.

vou guardar essa informação em um arquivozinho qualquer.

o que não consegui resolver:
quero que o programa identifique quando X de fechar foi clicado para nesse momento capturar o size e gravar.
alguém pode me ajudar?

arigato gosaimasu :smiley:

7 Respostas

ajfilho

coloca um evento windowClosing() e dentro dele você coloca o código para capturar o tamanho da tela e gravar no seu arquivo.

Abraços!

makoto

opa aj, vc pode me mandar um exemplo de como usar windowclosing()??
vlw

ajfilho

Você usa Netbeans??

Se sim, aqui vai a instrução:

Tem a aba Inspector que mostra os seus componentes.

Clique em cima do JFrame (ou Jmodal ou JinternalFrame) com o botão direito e vai em Eventos (Events), em seguida Window e depois windowClosing

O netbeans será responsável por criar o evento para ti e posicionará o cursor para digitar o código.

Então lá dentro você coloca a sua lógica para fazer aquilo que queres.

Agora se não usares netbeans, e tiveres fazendo teu frame na mão, depois quando sair do trabalho, eu posto como se faz.

Abraços!

makoto

eu uso o eclipse, escrevo minha interface no braço, então vou esperar seu post… :roll:

ajfilho

Opa, fiz uma classe aqui para você usar como exemplo:

import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.WindowAdapter;
import javax.swing.JFrame;
import javax.swing.JOptionPane;

/**
 *
 * @author ajfilho
 */
public class testeFrame extends JFrame {
    
    public testeFrame(){
        getJFrame();
    }
    
    public void centralizarComponente() {
        Dimension ds = Toolkit.getDefaultToolkit().getScreenSize();
        Dimension dw = getSize();
        setLocation((ds.width - dw.width) / 2, (ds.height - dw.height) / 2);
    }
    
    public void getJFrame(){
        setSize(400, 400);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        centralizarComponente();
        setTitle("Teste Evento Window Closing");
        addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(java.awt.event.WindowEvent evt) {
                JOptionPane.showMessageDialog(null, "Fechando a janela!\nTchau!", "Window Closing Teste", JOptionPane.INFORMATION_MESSAGE);
                System.out.println("Fechando a janela!\nTchau!");
            }
        }); 
    }

    public static void main(String[] args) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new testeFrame().setVisible(true);
            }
        });
    }
}

Abraços

makoto

aj, estou muito agradecido. Sua postagem me ajudou bastante. Era isso mesmo que eu procurava.

Arigato Gosaimasu :smiley:

ajfilho

makoto:
aj, estou muito agradecido. Sua postagem me ajudou bastante. Era isso mesmo que eu procurava.

Arigato Gosaimasu :D

De nada, precisando estamos aí!!

Abraços!

Criado 10 de dezembro de 2008
Ultima resposta 11 de dez. de 2008
Respostas 7
Participantes 2