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í
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
[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.