加ComponentListener
public void componentResized(ComponentEvent e) 
{
  监听到变化
}

解决方案 »

  1.   

    我照做了,怎么窗口大小变化的时候,一点反映也没有呀,好像根本没有调用componentResized(ComponentEvent e)事件?
      

  2.   

    就是这个方法,你要addComponentListener()
      

  3.   

    import java.awt.*;
    import java.awt.event.ComponentEvent;
    import java.awt.event.ComponentListener;
    import java.awt.event.WindowAdapter;
    import java.awt.event.WindowEvent;public class MyFrame extends Frame implements ComponentListener
    {
    public MyFrame(String str){
    super(str);
    setSize(640,480);
    this.addComponentListener(this);

    Panel p1=new Panel();
    p1.setLayout(null);

    Button b1,b2,b3;
    b1=new Button("big1");
    b1.setLocation(100,120);
    b1.setSize(80,20);
    p1.add(b1);
    add(p1);

    addWindowListener(new WindowAdapter(){
    public void windowClosing(WindowEvent e){
       System.exit(0);
    }
     }
       );       
    setVisible(true);
    } public static void main(String args[])
    {
    MyFrame fr=new MyFrame("test");
    }
    public void componentHidden(ComponentEvent e){}

    public void componentMoved(ComponentEvent e){}

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

    public void componentShown(ComponentEvent e) {}
    }
      

  4.   

    是JFrame?
    改如下3处:
    import javax.swing.JFrame;//1public class MyFrame extends JFrame implements ComponentListener//2
    {
    public MyFrame(String str){
    super(str);
    setSize(640,480);
    this.addComponentListener(this);

    Panel p1=new Panel();
    p1.setLayout(null);

    Button b1,b2,b3;
    b1=new Button("big1");
    b1.setLocation(100,120);
    b1.setSize(80,20);
    p1.add(b1);
    this.getContentPane().add(p1);//3