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