LISTENER[resolvido]

como faço para criar um listener que faça algo quando mudar o tamanho de um JFrame??

Use um ComponentLIstener:
http://docs.oracle.com/javase/tutorial/uiswing/events/componentlistener.html

[]'s

Ta aí :slight_smile:


import java.awt.event.ComponentAdapter;
import java.awt.event.ComponentEvent;

import javax.swing.JFrame;
import javax.swing.JOptionPane;


public class JFrameTeste extends JFrame {

	public JFrameTeste() {
		setSize(400, 300);
	
		this.addComponentListener(new ComponentAdapter() {
            public void componentResized(ComponentEvent e) {
            	JOptionPane.showMessageDialog(null, "Width: "+e.getComponent().getWidth()+"\nHeight: "+e.getComponent().getHeight());
            }
        });
	}

	
	public static void main(String[] args) {
		JFrame frame = new JFrameTeste();
		frame.setVisible(true);
	}
}

leonhard32, pode explicar melhor seu codigo?

tipo isso eu coloca na classe do JFrame?

ou faço essa classe separada e chamo um metodo na classe do meu JFrame, nao entendi =/

o que eu quero é que quando mudar o tamanho do JFrame, centralize um JInternalFrame que esta aberto :wink:

[quote=augusto340]leonhard32, pode explicar melhor seu codigo?

tipo isso eu coloca na classe do JFrame?

ou faço essa classe separada e chamo um metodo na classe do meu JFrame, nao entendi =/

o que eu quero é que quando mudar o tamanho do JFrame, centralize um JInternalFrame que esta aberto ;)[/quote]

Então cara, o que ele faz é somente adicionar um Listener que execute algo sempre que o Objeto for redimensionado, no caso, um objeto da sua classe (que Extend o JFrame).
Sempre quando quiser fazer algo do tipo, evento quando clicar com o mouse, mover mouse, apertar uma tecla, redimensionar, mudar posição… sempre implemente um Listener com uma ação dentro do seu componente Swing.

leonhard32, muito obrigado. coloquei o seguinte no metodo construtor do meu JFrame

JDesktopPane.addComponentListener(new ComponentAdapter() {   
            public void componentResized(ComponentEvent e) {   
                JOptionPane.showMessageDialog(null, "Width: "+e.getComponent().getWidth()+"\nHeight: "+e.getComponent().getHeight());   
            }   
        });

funcionando perfeitamente, quando o tamanho do jdesktoppane eh alterado, dispara o evento ;D

Movido para o fórum de interface gráfica.