会社で昼休み暇なので、Windowsのデスクトップのサイズを取得する方法がないかJava APIのドキュメントを探してたら、ちょうど見つかった。id:NAT:20050507#p2で公開した壁紙チェンジャーShuffleWallpaperを改良するために使える。覚え書きのため、ここに書いておく。
(a) 画面の解像度の取得方法 java.awt.GraphicsEnvironment env = java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(); java.awt.DisplayMode displayMode = env.getDefaultScreenDevice().getDisplayMode() // 変数widthとheightに画面の解像度の幅と高さを代入 int width = displayMode.getWidth(); int height = displayMode.getHeight();
(b) デスクトップのサイズの取得方法 java.awt.GraphicsEnvironment env = java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(); // 変数desktopBoundsにデスクトップ領域を表すRectangleが代入される java.awt.Rectangle desktopBounds = env.getMaximumWindowBounds();
(a)でタスクトレイも含んだ画面全体のサイズが取得できる。(b)は、タスクトレイを除いたデスクトップの領域が取得できる。