dcsimg
Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX

By submitting your information, you agree that devx.com may send you DevX offers via email, phone and text message, as well as email offers about other products and services that DevX believes may be of interest to you. DevX will process your information in accordance with the Quinstreet Privacy Policy.


Tip of the Day
Language: Client Scripting
Expertise: Beginner
Jul 14, 1999

WEBINAR:

On-Demand

Building the Right Environment to Support AI, Machine Learning and Deep Learning


Window Resize Event

Question:
How can I detect that a window has been resized? I can detect events such as WindowIconified, WindowDeiconified, WindowOpening, WindowClosing, etc., but not the resize event.

Answer:
Figuring out how to detect a window resizing isn't immediately obvious because you might expect the event to be represented by a WindowEvent. In fact, window resizing is just a specific instance of component resizing, which is signalled by a ComponentEvent. The ComponentEvent.COMPONENT_RESIZED identifier indicates that a ComponentEvent is signalling a resize. To receive the event, you must add a ComponentListener to the window. Rather than implementing all the methods required by a ComponentListener, it will suffice to subclass ComponenetAdapter, and override its componentResized() method. The following program shows how to do this, displaying the new dimensions of a window as it is resized.


import java.awt.*;
import java.awt.event.*;

public class ResizeWindow extends Frame {
  Label label;

  public void showSize() {
    label.setText(getWidth() + ", " + getHeight());
  }

  public ResizeWindow() {
    label = new Label();
    label.setAlignment(Label.CENTER);
    add(label, BorderLayout.CENTER);

    addComponentListener(new ComponentAdapter() {
      public void componentResized(ComponentEvent e) {
        ResizeWindow.this.showSize();
      }
    });
  }

  public static final void main(String[] args) {
    Frame frame = new ResizeWindow();
    WindowListener exitListener;

    exitListener = new WindowAdapter() {
      public void windowClosing(WindowEvent e) {
        Window window = e.getWindow();
        window.setVisible(false);
        window.dispose();
        System.exit(0);
      }
    }; 
      
    frame.addWindowListener(exitListener);
    frame.setSize(200, 200);
    frame.setVisible(true);
  }
}
DevX Pro
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

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