Existe-il un listener averti quand on change la JFrame de taille ?

Résolu/Fermé
Messages postés
4
Date d'inscription
jeudi 11 août 2005
Statut
Membre
Dernière intervention
8 avril 2009
-
Messages postés
4
Date d'inscription
jeudi 11 août 2005
Statut
Membre
Dernière intervention
8 avril 2009
-
Bonjour

Je debut en java j'aimerai savoir si il existe une interface de JFrame qui signial quand je change la JFrame de taille.


Le but est de pouvoir repositionner mes objets dans la JFrame lorsqu'elle change de taille.


ce que j'utilise en simplifié :
   b1 = new JButton("boutton 1");
   b2 = new JButton("boutton 2");
         //etc.. plusieur objets
   p1 = new JPane();
   p2 = new JPane();
   getContentPane().add(p1);
   getContentPane().add(p2);
//je supprime les Layouts pour me positionner en pixels
   getContentPane().setLayout(null);
// je positionne mes Layout des panels incruster dans ma JFrame
   p1.setLayout(new GridLayout(2,2));
   p2.setLayout(new GridLayout(2,2)););
// j'add mes ojbets
   p1.add(b1);
   p1.add(b2);
   p1.add(b3);
   p2.add(b4);
// etc...
   this.positionnementPanel();
        
         
        // **Je place mes JPanels (c'est cette partie que je souhaite apeller a chaque changement  de taille de JFrame
**//
   public void positionnementPanel(){
   p1.setBounds((int)this.getWidth()/20,30,200,150);
   p2.setBounds((int)this.getWidth()/20,(int)this.getHeight()/2,200,150);
}

Comment puis je faire svp?
Merci d'avance

2 réponses

Messages postés
5366
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
6 décembre 2021
111
Salut,

Oui c'est possible et pas que sur une fenetre grace à java.awt.event.ComponentListener

agade un ptit exemple :

import java.awt.event.ComponentEvent;
import java.awt.event.ComponentListener;

import javax.swing.JFrame;

public class Test extends JFrame implements ComponentListener{

    public Test(){
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setSize(300, 300);
        setLocationRelativeTo(null);
        addComponentListener(this);
    }
   
    public static void main(String [] args){
        new Test().setVisible(true);
    }

    public void componentHidden(ComponentEvent e) {
        System.out.println("cache");
    }

    public void componentMoved(ComponentEvent e) {
        System.out.println("bouge");
       
    }

    public void componentResized(ComponentEvent e) {
        System.out.println("redimensionnement");
    }

    public void componentShown(ComponentEvent e) {
        System.out.println("affiche");
    }
   
}

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

WORA
Messages postés
4
Date d'inscription
jeudi 11 août 2005
Statut
Membre
Dernière intervention
8 avril 2009

merci beaucoup
Je galerai pour un truc tout simple pourtant
Noel