Here you can find the source of packInCenter(JDialog dialog)
Parameter | Description |
---|---|
dialog | The dialog |
public static void packInCenter(JDialog dialog)
//package com.java2s; /*/*from w w w . j a va2 s . c o m*/ * Copyright 1997-2016 Unidata Program Center/University Corporation for * Atmospheric Research, P.O. Box 3000, Boulder, CO 80307, * support@unidata.ucar.edu. * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ import java.awt.Component; import java.awt.Dimension; import java.awt.Point; import java.awt.Toolkit; import javax.swing.JDialog; public class Main { /** * pack the dialog in the center of the screen * * @param dialog The dialog */ public static void packInCenter(JDialog dialog) { dialog.pack(); Point center = getLocation(null); int x = center.x - dialog.getWidth() / 2; int y = center.y - dialog.getHeight() / 2; if (x < 20) { x = 20; } if (y < 20) { y = 20; } dialog.setLocation(x, y); } /** * Find the location of the given componet on the screen. If any * errors then return the screen center - 100 * * @param src Source component * @return Location on screen */ public static Point getLocation(Component src) { if (src != null) { try { return src.getLocationOnScreen(); } catch (Exception exc) { } } Dimension ss = Toolkit.getDefaultToolkit().getScreenSize(); return new Point(ss.width / 2 - 100, ss.height / 2 - 100); } }