Javaでフルスクリーンモード時に設定できる解像度を調べる
ゲームにフルスクリーンモードを実装するために、使用可能なDisplayMode、特に解像度を取得する必要があったので、そのテスト。
import java.awt.DisplayMode; import java.awt.GraphicsEnvironment; import java.awt.GraphicsDevice; public class DisplayModeSample { public static void main(String[] args) { GraphicsEnvironment environment = GraphicsEnvironment.getLocalGraphicsEnvironment(); GraphicsDevice device = environment.getDefaultScreenDevice(); DisplayMode[] modes = device.getDisplayModes(); for (DisplayMode m: modes) { System.out.print("Width: " + m.getWidth()); // 幅 System.out.print(" Height: " + m.getHeight()); // 高さ System.out.print(" BitDepth: " + m.getBitDepth()); // ビットの深さ System.out.print(" RefreshRate: " + m.getRefreshRate()); // リフレッシュレート System.out.println(); } } }
出力例
Width: 320 Height: 200 BitDepth: 32 RefreshRate: 60 Width: 320 Height: 200 BitDepth: 32 RefreshRate: 60 ... Width: 2560 Height: 1440 BitDepth: 32 RefreshRate: 60 Width: 2560 Height: 1440 BitDepth: 32 RefreshRate: 60
getDisplayModesメソッドからは使用可能なDisplayModeの配列が得られるので、この中から適当な解像度のものを選んで設定すればよさそう。