full-screen exclusive modeをmacで試す

最近フルスクリーンのアプリが落ち着く。
Javaにはfull-screen exclusive modeというのがあるらしい。知らんかった。

Macでもフルスクリーンは実現できるのかと気になったため、scalaで実験してみた。
書いたのはこんなソース

import swing._
import swing.event._

object FullScreenApp extends SimpleSwingApplication {

  def top = new MainFrame with RichWindow.Undecorated{
    contents = button

    import java.awt.{GraphicsEnvironment => GE}
    lazy val gd = GE.getLocalGraphicsEnvironment.getDefaultScreenDevice

    listenTo(button)
    reactions += {
      case ButtonClicked(button) => 
        gd.setFullScreenWindow(
          if (isFullscreen) {
            button.text = "show fullscreen"
            null
          } else {
            button.text = "escape fullscreen"
            this.peer
          }
        )
    }

    def isFullscreen = this == gd.getFullScreenWindow()
  }

  object button extends Button {
      text = "show fullscreen"
  }
}

動かしてみるとわかるが、期待通りフルスクリーン表示が出来た。
Windows7でも大丈夫でした。