Run the attached test with jdk9 on a dual-screen Linux system with Xinerama. I have two Ubuntu 16.04 systems. It will create a Frame using the simplest constructor presuming default graphics configuration but puts it anywhere on the second screen, which is extension of the first one.
A Window with that Frame as a parent is setLocationRelativeTo(parent). Now, this Window appears on the first screen.
Perhaps it is the same issue as JDK-8160270 but more general, so this bug should not be closed as a duplicate of that P4.
There used to be several issues re: relative location. Using different builds of JDK9 and putting the parent Frame in different locations across the virtual screen, one could see a lot of strange things -- but now most of them are fixed. This issue, however, is reproducible consistently starting from b112 at least.