- MenuBar
- Menu
- MenuItem
- Action (abstract class)
- Action (object)
- CheckMenuItem
- ButtonGroup
- Menu
- Separator
import
import scala.swing._
import scala.swing.event.WindowClosing
import java.awt.event.{ KeyEvent, InputEvent }
import javax.swing.{ KeyStroke, ImageIcon }
Menu
val menuFile = new Menu("メニュー(M)")
TODO
MenuItem
val menuOpen = new MenuItem(new Action("開く(O)") {
mnemonic = KeyEvent.VK_O
accelerator = Some(KeyStroke.getKeyStroke(KeyEvent.VK_O, InputEvent.CTRL_DOWN_MASK))
icon = new ImageIcon("build/icon.png")
toolTip = "ファイルを開く"
def apply() {}
})
val menuSave = new MenuItem(new Action("保存(S)") {
mnemonic = KeyEvent.VK_S
accelerator = Some(KeyStroke.getKeyStroke(KeyEvent.VK_S, InputEvent.CTRL_DOWN_MASK))
enabled = false
def apply() {}
})
val menuExit = new MenuItem(new Action("終了(X)") {
mnemonic = KeyEvent.VK_X
def apply() {
top.publish(new WindowClosing(top))
}
})
CheckMenuItem
val menuLine = new CheckMenuItem("行番号を表示")
ButtonGroup, RadioMenuItem
val menuLang = new Menu("言語(L)")
val menuLangScala = new RadioMenuItem("Scala")
val menuLangRuby = new RadioMenuItem("Ruby")
val mutexLang = new ButtonGroup(menuLangScala, menuLangRuby)
menuLang.contents ++= mutexLang.buttons
menuFile.contents += menuOpen
menuFile.contents += menuSave
menuFile.contents += menuLine
menuFile.contents += menuLang
menuFile.contents += new Separator
menuFile.contents += menuExit
menuBar = new MenuBar {
contents += menuFile
}
gist: 217465 - ScalaでSwing メニュー