Swing MacBook Неверный режим отображения

Настройки режима отображения: fullscreen.displaywidth =(1440 900,16,0)

Текущее разрешение экрана: 1440*900 в масштабе.

Код:

fullscreen.pixelperframe = ((fullscreen.speed - 10) > 1) ? (fullscreen.speed-10) : 1;   
DisplayMode dmode = new DisplayMode(fullscreen.displaywidth,fullscreen.displayheight,16,0);    

Исключение в потоке "main" java.lang.IllegalArgumentException: недопустимый режим отображения в sun.awt.CGraphicsDevice.nativeSetDisplayMode(собственный метод) в sun.awt.CGraphicsDevice.setDisplayMode(CGraphicsDevice.java:234) в FullScreen.main.:237)

Система Macbook Air 2012

Мой вопрос:

Какие именно настройки режима отображения работают в Macbook Air или код должен отличаться.

2 ответа

Решение

Ты можешь использовать GraphicsDevice#getDisplayModes перечислить доступные DisplayMode Например, устройство может поддерживать

GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice gd = ge.getDefaultScreenDevice();
for (DisplayMode dm : gd.getDisplayModes()) {
    System.out.println(dm.getWidth() + "x" + dm.getHeight() + "@" + dm.getRefreshRate());
}

Который на выходах mini-mac...

2560x1600@32
1280x1024@75
1024x768@75
1024x768@60
800x600@75
800x600@60
640x480@75
640x480@60
1280x1024@60
1600x1200@60
640x480@85
800x600@85
848x480@60
1024x768@85
1280x960@60
1280x960@75
1280x960@85
1280x1024@85
1360x768@60
1920x1080@60
1280x800@32
800x500@32
1024x640@32
1344x1008@32
1344x840@32
1600x1000@32
2048x1280@32

Я смог запустить качели используя:

DisplayMode dmode = new DisplayMode(800, 600, 32, DisplayMode.REFRESH_RATE_UNKNOWN);
Другие вопросы по тегам