Multiscreen systems, notably UNIX platforms using -Xinerama, have no way to distinguish between GraphicsDevices which represent actual physical display devices, and GraphicsDevices for a "virtual" display spanning several physical devices. Client systems such as Java3D need to be able to make this distinction. java.awt.GraphicsDevice enhancements akin to the following would remedy this situation:
/**
* Returns true if this GraphicsDevice represents physical display hardware,
* false if it represents a "virtual" display.
*/
public boolean isPhysicalDevice();
/**
* This method returns an array of the physical GraphicsDevices spanned by
* a virtual display. If called on a GraphicsDevice which is itself a
* physical display, rather than a virtual display, this method simply returns
* a single-element array with a reference to itself.
*/
public GraphicsDevice[] getPhyicalScreens()
One is issue is how these methods should be implemented for printers.