Use the multi-head aware Graphics{Environment,Device,Configuration} to center

windows if possible as Toolkit isn't smart about such things.


git-svn-id: https://samskivert.googlecode.com/svn/trunk@2112 6335cc39-0255-0410-8fd6-9bcaacd3b74c
This commit is contained in:
mdb
2007-06-13 17:01:18 +00:00
parent 2e31d2d2f8
commit b822e51753
@@ -77,10 +77,18 @@ public class SwingUtil
*/
public static void centerWindow (Window window)
{
Toolkit tk = window.getToolkit();
Dimension ss = tk.getScreenSize();
Rectangle bounds;
try {
bounds = GraphicsEnvironment.getLocalGraphicsEnvironment().
getDefaultScreenDevice().getDefaultConfiguration().getBounds();
} catch (Throwable t) {
Toolkit tk = window.getToolkit();
Dimension ss = tk.getScreenSize();
bounds = new Rectangle(0, 0, ss.width, ss.height);
}
int width = window.getWidth(), height = window.getHeight();
window.setBounds((ss.width-width)/2, (ss.height-height)/2,
window.setBounds(bounds.x + (bounds.width-width)/2, bounds.y + (bounds.height-height)/2,
width, height);
}