I've written a little test program, to show the problem:
public static void main(String[] args) {
DisplayMode[] modes = null;
try {
modes = Display.getAvailableDisplayModes();
} catch (LWJGLException e) {
e.printStackTrace();
}
for (int i = 0; i < modes.length; i++) {
System.out.println("Found Display mode (" + i + "): w:" + modes[i].getWidth() + " h:" + modes[i].getHeight() + " bpp:" + modes[i].getBitsPerPixel() + ", " + modes[i].getFrequency() + " Hz.");
}
System.out.println();
GraphicsDevice[] devices = GraphicsEnvironment.getLocalGraphicsEnvironment().getScreenDevices();
for (int j = 0; j < devices.length; j++) {
System.out.println("Awt-DisplayModes for GraphicsDevice (" + j + ")");
java.awt.DisplayMode[] awtModes = devices[j].getDisplayModes();
for (int i = 0; i < modes.length; i++) {
System.out.println("Found Awt-Display mode (" + i + "): w:" + awtModes[i].getWidth() + " h:" + awtModes[i].getHeight() + " bpp:" + awtModes[i].getBitDepth() + ", " + awtModes[i].getRefreshRate() + " Hz.");
}
}
}
That just prints out DisplayMode info from LWJGL first, then from AWT.
Thats, what it prints:
Found Display mode (0): w:2560 h:1024 bpp:24, 50 Hz.
Awt-DisplayModes for GraphicsDevice (0)
Found Awt-Display mode (0): w:1280 h:1024 bpp:-1, 0 Hz.
Awt-DisplayModes for GraphicsDevice (1)
Found Awt-Display mode (0): w:1280 h:1024 bpp:-1, 0 Hz.
LWJGL just finds the double-screen DisplayMode, which makes gaming with multiple monitors somhow really ... bad.