How to Detect JFrame Resizing

How to Detect JFrame Resizing

There are a couple of ways to track JFrame resizing. This method uses a while(true) loop, setting Thread.sleep to wait for some specified period of time. However, you could just as well use a timer class.

Put this method inside your class that extends JFrame and call it:

public void resizecatch(){    int w = getWidth();    int h = getHeight();    while(true)    {        if(w != getWidth() || h!= getHeight())        {            System.out.println("JFrame has been resized");            //put other actions here you want done...            w = getWidth();            h = getHeight();        }        try{Thread.sleep(300);} catch(InterruptedException e) {}    }}

This approach also catches JFrame resizing when users are in the process of resizing the frame (when they’re still holding down the mouse button).


Share the Post: