import scala.swing._
import swing.event.{WindowClosing}
import java.awt.Dimension
object MenuBarTest {
def main(args:Array[String]) {
val frame = new Frame() {
visible=true
contents = new Panel() {
preferredSize = new Dimension(600,400)
}
title = "Test"
reactions += {
case WindowClosing(e) => System.exit(0)
}
menuBar = new MenuBar {
contents += new Menu("A Menu") {
contents += new MenuItem("An item")
contents += new MenuItem(Action("Action item") { println(title) })
contents += new Separator
contents += new CheckMenuItem("Check me")
}
}
}
}
}
alt text http://grab.by/grabs/4a0ffda4603149a4680415447c684129.png
当我调整窗口大小时,菜单会弹出。
alt text http://grab.by/grabs/cef34bf57327edf6d47f9a0e14902285.png
知道为什么会这样,以及如何防止这种情况发生?
答案 0 :(得分:6)
尝试更改语句的顺序。例如。将visible = true
带到frame
定义的末尾。
另一件事是在创建pack
之后调用frame
方法。