Java JFrame Center centerFrame(Window owner)

Here you can find the source of centerFrame(Window owner)

Description

center Frame

License

Open Source License

Declaration

static public void centerFrame(Window owner) 

Method Source Code

//package com.java2s;
/*/* w  w w  .  j  a v  a  2 s  . com*/
    
The Martus(tm) free, social justice documentation and
monitoring software. Copyright (C) 2001-2007, Beneficent
Technology, Inc. (The Benetech Initiative).
    
Martus is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later
version with the additions and exceptions described in the
accompanying Martus license file entitled "license.txt".
    
It is distributed WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, including warranties of fitness of purpose or
merchantability.  See the accompanying Martus License and
GPL license for more details on the required license terms
for this software.
    
You should have received a copy of the GNU General Public
License along with this program; if not, write to the Free
Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
    
To the extent this copyrighted software code is used in the 
Miradi project, it is subject to a royalty-free license to 
members of the Conservation Measures Partnership when 
used with the Miradi software as specified in the agreement 
between Benetech and WCS dated 5/1/05.
*/

import java.awt.Dimension;

import java.awt.GraphicsConfiguration;

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

import javax.swing.JFrame;

public class Main {
    static public void centerFrame(Window owner) {
        Dimension size = owner.getSize();
        owner.setLocation(center(size, getViewableRectangle()));
    }

    static public Point center(Dimension inner, Rectangle outer) {
        int x = (outer.width - inner.width) / 2;
        int y = (outer.height - inner.height) / 2;
        return new Point(x + outer.x, y + outer.y);
    }

    static public Rectangle getViewableRectangle() {
        Insets insets = getSystemInsets();
        return new Rectangle(new Point(insets.left, insets.top), getViewableScreenSize());
    }

    private static Insets getSystemInsets() {
        JFrame tmpFrame = new JFrame();
        GraphicsConfiguration graphicsConfig = tmpFrame.getGraphicsConfiguration();
        Insets insets = Toolkit.getDefaultToolkit().getScreenInsets(graphicsConfig);
        return insets;
    }

    static public Dimension getViewableScreenSize() {
        Dimension screenSizeExcludingToolbars = Toolkit.getDefaultToolkit().getScreenSize();
        Insets insets = getSystemInsets();
        screenSizeExcludingToolbars.width -= (insets.left + insets.right);
        screenSizeExcludingToolbars.height -= (insets.top + insets.bottom);
        return screenSizeExcludingToolbars;
    }
}

Related

  1. centerFrame(JFrame frame)
  2. centerFrame(JFrame frame)
  3. centerFrame(JFrame frame)
  4. centerFrame(JFrame frame)
  5. centerFrame(JFrame frame, boolean isPopup)
  6. centerFrameOnMainDisplay(final JFrame frame)
  7. centerFrameOnScreen(JFrame frame)
  8. centerFrameOnScreen(JFrame frame)
  9. centerFrameTo(final JFrame frameToCenter, final Dimension orientDim)