1

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

4

2 回答 2

3

你看过里面SwingApplication吗?

https://github.com/scala/scala-swing/blob/v1.0.0-RC2/src/main/scala/scala/swing/SwingApplication.scala#L16

有一个main或一个startup要注册Runtime.addShutdownHook

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

于 2014-02-09T21:55:50.860 回答
0

你的意思是类似的吗?:

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

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

Hello将在 Frame 关闭时打印。

于 2014-02-09T19:36:09.053 回答