Bug 254673 [JFace] Window javadoc hints at overriding createShell() when this is not possible
This is the javadoc of Window's createShell() method: /** * Creates and returns this window's shell. * <p> * The default implementation of this framework method creates * a new shell and configures it using <code/>configureShell</code>. Rather * than override this method, subclasses should instead override * <code/>configureShell</code>. * </p> * * @return the shell */ The statement "Rather than override this method, subclasses should instead override configureShell." somewhat sounds like a warning that the user should do one instead of the other...but you could still go the other way if you so desire. However, overriding createShell() is not actually even possible because it is spec'ed as being final.
bundles/org.eclipse.jface/src/org/eclipse/jface/window/Window.java
*            point to find (display coordinates)
	 * @param toFind
	 *            point to find (display coordinates)
	 * @return the montor closest to the given point
	 */
	private static Monitor getClosestMonitor(Display toSearch, Point toFind) {
		int closest = Integer.MAX_VALUE;
		Monitor[] monitors = toSearch.getMonitors();
		Monitor result = monitors[0];
		for (int idx = 0; idx < monitors.length; idx++) {
			Monitor current = monitors[idx];
			Rectangle clientArea = current.getClientArea();
			if (clientArea.contains(toFind)) {
				return current;
			}
			int distance = Geometry.distanceSquared(Geometry
					.centerPoint(clientArea), toFind);
			if (distance < closest) {
				closest = distance;
				result = current;
			}
		}
		return result;
	}
	/**
	 * Given the desired position of the window, this method returns an adjusted
	 * position such that the window is no larger than its monitor, and does not
	 * extend beyond the edge of the monitor. This is used for computing the
	 * initial window position, and subclasses can use this as a utility method
	 * if they want to limit the region in which the window may be moved.