Scala добавить отключение крюк для Scala Swing

Я раньше использовал заменители отключения в java-приложениях, но не в java-качелях. Я хочу добавить крюк отключения в приложение Scala Swing. Scala Swing не имеет основного метода, поэтому я понятия не имею, как его реализовать. Я хочу запустить несколько методов непосредственно перед закрытием, поэтому, если есть другие способы, кроме завершения работы, пожалуйста, предложите.

2 ответа

Решение

Ты заглянул внутрь SwingApplication?

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

E сть main или startup зарегистрироваться Runtime.addShutdownHook,

Или есть shutdown шаблонный метод, если это все, что вы имеете в виду.

Вы имеете в виду нечто подобное?:

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

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

Hello будет напечатан, когда рамка закрыта.

Другие вопросы по тегам