Source Code : Get Point For Centering

Java Is Open Source Programming Language You Can Download From Java and Java Libraries From http://www.oracle.com. Click Here to download
We provide this code related to title for you to solve your developing problem easily. Libraries which is import in this program you can download from http://www.oracle.com. Click Here or search from google with Libraries Name you get jar file related it

Get Point For Centering

  
/*
 * $Id: WindowUtils.java,v 1.16 2009/05/25 16:37:52 kschaefe Exp $
 *
 * Copyright 2004 Sun Microsystems, Inc., 4150 Network Circle,
 * Santa Clara, California 95054, U.S.A. All rights reserved.
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 */

import java.awt.GraphicsConfiguration;
import java.awt.GraphicsEnvironment;
import java.awt.Insets;
import java.awt.Point;
import java.awt.Rectangle;
import java.awt.Toolkit;
import java.awt.Window;

/**
 * Encapsulates various utilities for windows (ie: <code>Frame</code> and
 * <code>Dialog</code> objects and descendants, in particular).
 *
 * @author Richard Bair
 */
public class Utils {
  public static Point getPointForCentering(Window window) {
    Rectangle usableBounds = getUsableDeviceBounds(window);
    int screenWidth = usableBounds.width;
    int screenHeight = usableBounds.height;
    int width = window.getWidth();
    int height = window.getHeight();
    
    return new Point(((screenWidth - width) / 2) + usableBounds.x,
            ((screenHeight - height) / 2) + usableBounds.y);
}
  /**
   * <p>
   * Returns the <code>Point</code> at which a window should be placed to
   * center that window on the screen.
   * </p>
   * <p>
   * Some thought was taken as to whether to implement a method such as this,
   * or to simply make a method that, given a window, will center it.  It was
   * decided that it is better to not alter an object within a method.
   * </p>
   *
   * @param window The window to calculate the center point for.  This object
   *               can not be null.
   *
   * @return the <code>Point</code> at which the window should be placed to
   *         center that window on the screen.
   */


  private static Rectangle getUsableDeviceBounds(Window window) {
      Window owner = window.getOwner();
      GraphicsConfiguration gc = null;
      
      if (owner == null) {
          gc = GraphicsEnvironment.getLocalGraphicsEnvironment()
                  .getDefaultScreenDevice().getDefaultConfiguration();
      } else {
          gc = owner.getGraphicsConfiguration();
      }
      
      Insets insets = Toolkit.getDefaultToolkit().getScreenInsets(gc);
      Rectangle bounds = gc.getBounds();
      bounds.x += insets.left;
      bounds.y += insets.top;
      bounds.width -= (insets.left + insets.right);
      bounds.height -= (insets.top + insets.bottom);
      
      return bounds;
  }
}

   
    
  

Thank with us