Выведите jFrame на второй монитор, если это возможно - PullRequest
3 голосов
/ 19 июля 2011

У меня есть jFrame на Swing в Java, и я хочу, чтобы он выводил на второй монитор, если этот монитор существует.

Я попытался (на этой странице) получить разрешение дисплеев

GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice[] gs = ge.getScreenDevices();
for (int j = 0; j < gs.length; j++)
{
    GraphicsConfiguration[] gc =  gs[j].getConfigurations();
    for (int i = 0; i < gc.length; i++)
    {
        Rectangle gcBounds = gc[i].getBounds();
        int xoffs = gcBounds.x;
        int yoffs = gcBounds.y;
    }
}         

Но потом я смотрю в отладчике xoffs и yoffs для мой первый монитор (1360 * 768) xoffs = 1360 и yoffs = 0 второй монитор (1280 * 1024) xoffs = 0 и yoffs = 0

Что я делаю не так?

1 Ответ

2 голосов
/ 19 июля 2011

Попробуйте следующее:

public static void main( String[] args )
{
   java.awt.GraphicsDevice[] devices = GraphicsEnvironment.getLocalGraphicsEnvironment().getScreenDevices();

   for ( int i = 0; i < devices.length; i++ )
   {
      System.out.println( "Device " + i + " width: " + devices[ i ].getDisplayMode().getWidth() );
      System.out.println( "Device " + i + " height: " + devices[ i ].getDisplayMode().getHeight() );
   }
}
...