Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: Java
Expertise: Beginner
Jun 16, 2009

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

Sterling Jordan
Thanks for your registration, follow us on our social networks to keep up-to-date