Revision: 5190 http://sourceforge.net/p/jump-pilot/code/5190 Author: michaudm Date: 2016-11-15 22:15:19 +0000 (Tue, 15 Nov 2016) Log Message: ----------- Fix #353 Dialogs do not use preferred size on dual screen
Modified Paths: -------------- core/trunk/ChangeLog core/trunk/src/com/vividsolutions/jump/workbench/ui/GUIUtil.java Modified: core/trunk/ChangeLog =================================================================== --- core/trunk/ChangeLog 2016-11-15 11:31:49 UTC (rev 5189) +++ core/trunk/ChangeLog 2016-11-15 22:15:19 UTC (rev 5190) @@ -3,6 +3,9 @@ # 2. make sure that lines break at 80 chars for constricted display situations #<-------------------------------- 80 chars ----------------------------------># +2016-11-15 mmichaud <m.michael.mich...@orange.fr> + * Fix #353 Dialogs do not use preferred size on dual screen + 2016-11-14 mmichaud <m.michael.mich...@orange.fr> * deactivate the misleading disjoint predicate in query and join plugins * #FR 249 - add "intersects interior point" and "interior point intersects" Modified: core/trunk/src/com/vividsolutions/jump/workbench/ui/GUIUtil.java =================================================================== --- core/trunk/src/com/vividsolutions/jump/workbench/ui/GUIUtil.java 2016-11-15 11:31:49 UTC (rev 5189) +++ core/trunk/src/com/vividsolutions/jump/workbench/ui/GUIUtil.java 2016-11-15 22:15:19 UTC (rev 5190) @@ -388,7 +388,7 @@ public static void centre(Component componentToMove, Component componentToCentreOn) { int offset = 30; - Dimension screendim = Toolkit.getDefaultToolkit().getScreenSize(); + Dimension screendim = getMultiScreenDimension(); Dimension componentToCentreOnSize = componentToCentreOn.getSize(); int newx = componentToCentreOn.getX() + ((componentToCentreOnSize.width - componentToMove.getWidth()) / 2); @@ -413,6 +413,18 @@ componentToMove.setBounds(newx, newy, neww, newh); } + private static Dimension getMultiScreenDimension() { + GraphicsDevice[] gds = GraphicsEnvironment.getLocalGraphicsEnvironment().getScreenDevices(); + int w = 0, h = 0; + for (GraphicsDevice gd : gds) { + Rectangle r = gd.getDefaultConfiguration().getBounds(); + if (r.getX()+r.getWidth() > w) w = (int)(r.getX()+r.getWidth()); + if (r.getY()+r.getHeight() > h) h = (int)(r.getY()+r.getHeight()); + System.out.println(r); + } + return new Dimension(w, h); + } + /** * Centres the component on the screen * ------------------------------------------------------------------------------ _______________________________________________ Jump-pilot-devel mailing list Jump-pilot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel