得到第二个监视器的x和y协调

时间:2014-11-06 14:49:38

标签: java swing screen screen-orientation

我们说我有两台显示器。

我想在第二个屏幕的左上角显示一个与第二个屏幕一样宽的窗口。

我知道我可以通过

获得大小
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice[]    gs = ge.getScreenDevices();

但是我不知道如何获得第二台显示器的x和y坐标。有人可以帮忙吗?没有搜索帮助过我。

1 个答案:

答案 0 :(得分:1)

没有什么复杂的,你几乎已经回答了自己的问题。

这是一个应该给你提示的例子:

public class ScreenBoundsExample
{
    public static void main ( String[] args )
    {
        final GraphicsDevice device = GraphicsEnvironment.getLocalGraphicsEnvironment ().getDefaultScreenDevice ();
        final GraphicsDevice[] devices = GraphicsEnvironment.getLocalGraphicsEnvironment ().getScreenDevices ();
        for ( final GraphicsDevice d : devices )
        {
            if ( d == device )
            {
                System.out.println ( "Main screen bounds: " + d.getDefaultConfiguration ().getBounds () );
            }
            else
            {
                System.out.println ( "Secondary screen bounds: " + d.getDefaultConfiguration ().getBounds () );
            }
        }
    }
}

当然,每个边界都包含屏幕起始(x,y)坐标。

请注意,您无法确定是否会有多个屏幕,因此您应该确保在那里不会遇到意外的异常。