man*_*man 6 swing scala window savefiledialog
我正在使用SimpleSwingApplicationscala swing中的特征构建一个GUI .我想要做的是提供一个关闭机制,询问用户(是,否,取消),如果他还没有保存文件.如果用户点击取消,Application则不应该关闭.但是,一切都我想到目前为止有MainFrame.close和closeOperation没有工作.
那么Scala Swing是如何完成的?
我在使用Scala 2.9.
提前致谢.
与霍华德建议的略有不同
import scala.swing._
object GUI extends SimpleGUIApplication {
def top = new Frame {
title="Test"
import javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE
peer.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE)
override def closeOperation() { showCloseDialog() }
private def showCloseDialog() {
Dialog.showConfirmation(parent = null,
title = "Exit",
message = "Are you sure you want to quit?"
) match {
case Dialog.Result.Ok => exit(0)
case _ => ()
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
通过使用,DO_NOTHING_ON_CLOSE您有机会定义WindowEvent.WINDOW_CLOSINGscala帧接收事件时应该执行的操作.当scala框架收到WINDOW_CLOSING事件时,它会通过调用做出反应closeOperation.因此,要在用户尝试关闭框架时显示对话框,就足以覆盖closeOperation并实现所需的行为.
| 归档时间: |
|
| 查看次数: |
1709 次 |
| 最近记录: |