Scala将关机挂钩添加到Scala swing

Scala将关机挂钩添加到Scala swing,swing,scala,shutdown-hook,application-shutdown,Swing,Scala,Shutdown Hook,Application Shutdown,我以前在java应用程序中使用过关机挂钩,但在java swing中没有。 我想给scala swing应用程序添加一个关机挂钩。 Scala swing没有main方法,所以我不知道如何实现它 我想在关闭之前运行一些方法,以便在关闭钩子之外还有其他方法吗 请建议。你的意思是类似的吗 class MyFrame extends Frame { peer.setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLO

我以前在java应用程序中使用过关机挂钩,但在java swing中没有。 我想给scala swing应用程序添加一个关机挂钩。 Scala swing没有main方法,所以我不知道如何实现它 我想在关闭之前运行一些方法,以便在关闭钩子之外还有其他方法吗
请建议。

你的意思是类似的吗

class MyFrame extends Frame {
  peer.setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE)

  override def closeOperation() { 
    println("Hello")
    exit(0)
  }
}

框架关闭时,将打印
Hello

您是否查看了
SwingApplication

有一个
main
startup
来注册
运行时。addShutdownHook


或者有一个
shutdown
template方法,如果这就是你的意思。

实际上我使用的是SimpleSwing应用程序,它的顶部方法是tp pack-the-frame并显示它,我甚至没有查看swing应用程序的内部。谢谢,我会尝试一下,看看它是如何运行的。我有一个问题,你必须声明默认的关闭操作吗?嗯,它也会在没有它的情况下执行。Java中的默认值仍然是
WindowConstants.HIDE\u ON\u CLOSE
,我记得。我猜你得试试对你有用的<代码>窗口常量。关闭时退出不会导致调用
closeOperation()