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).