mixi日記を読んでる友人から「hidesukeがコンピュータの話をかいたら全くわからん」とおしかりを受けました。
ま、そうだよねー。でも自分のmixiやらblogを読んでる人にはコンピュータやプログラムに詳しい人が多いからなぁ……。
さて、今回もそんな訳の分からない話。
Javaでマルチスクリーン環境でサブディスプレイでフルスクリーンでプログラムを動かす為にはどうすればいいか……とあれこれ調べていたのだけど、よくよく考えると自分のプログラム、別にフルスクリーンじゃなくてもいいか。という考えに思い至った。
でも、出来ればプログラムの起動時からサブスクリーンでプログラムが起動してくれたら嬉しい。
GrahpicsEnvironmentとかGraphicsDevice, GraphicsConfigurationを駆使することはAPIを読めばわかるんだけど、なんでAPIの日本語はあんなに難しいのだろう……。
と思っていたら結構簡単に説明してくれているサイトを発見。
http://web.sfc.keio.ac.jp/~tetsu/j2se1.5/ja/guide/2d/spec/j2d-awt.html
このコードを参考に
Rectangle virtualBounds = new Rectangle();
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice gs = ge.getScreenDevices();
for(int j=0; j gc = gd.getConfigurations();
for(int i=0; i
こんな風にコードを書いたらRectangleのxとyが仮想ディスプレイの原点座標になるとのこと。
仮想ディスプレイって何??っと思っていたら上記のサイトに分かりやすい図付きの説明があった。
なるほど! と。
画面解像度とかリフレッシュレートなんかはGraphicsDeviceのgetDisplayModeで取得できるので、上のサンプルとあわせるといろいろとOKだね!