当前位置: 首页 > 面试题库 >

JavaFX Stage关闭事件处理程序

微生青青
2023-03-14
问题内容

我在JavaFX中有一个舞台,可以通过多种方式关闭该舞台,方法是单击红色(X)或通过一个调用 stage.close()

无论舞台如何关闭,我都希望在舞台关闭之前(或之后)执行操作。

如果我使用以下代码:

myStage.setOnCloseRequest( event -> {System.out.println("Closing Stage");} );

然后当我单击(X)时调用处理程序,但当我调用 myStage.close()

不同之处在于,他希望在整个应用程序关闭时调用处理程序,因此可以覆盖Applicationstop()方法。但是,我并没有关闭整个应用程序,只是一个阶段。并且Stage没有stop()重写的方法。

谢谢你的帮助。


问题答案:

感谢VGR的评论,我一直在寻找的解决方案真的很简单,只需替换setOnCloseRequestsetOnHiding

myStage.setOnHiding( event -> {System.out.println("Closing Stage");} );


 类似资料:
  • 问题内容: 我使用Flask作为REST端点,该端点将应用程序请求添加到队列中。然后,该队列被第二个线程使用。 server.py client.py flask中是否有关闭事件处理程序,以便每当烧瓶应用程序关闭时(例如重新启动apache服务时),我就可以干净地关闭使用者线程? 问题答案: 如果你要查找的是没有app.stop(),但是使用模块可以执行类似的操作: https://docs.py

  • 我在JavaFX中有一个阶段,可以通过多种方式关闭,通过单击红色(X)或通过调用的按钮 无论舞台如何关闭,我都想在舞台关闭之前(或关闭时)执行一个动作。 如果我使用以下代码: 然后,当我单击(X)时调用处理程序,但当我调用<code>myStage.close()</code>时不会调用 这与这个问题讨论的问题相同(有一个关键区别):JavaFX:Stage-close-handler 不同之处在

  • 如何在Angular 2中编写窗口关闭事件处理程序,我的意思是关闭而不是刷新。 所以我不能使用

  • 问题内容: 我想在关闭JavaFX应用程序之前保存文件。 这就是我在中设置处理程序的方式: 当按下按钮时,控制器将调用: 如果关闭窗口,请单击窗口边框上的红色X(正常方式),然后会收到输出消息“ ”,这是所需的行为。 但是,在调用应用程序时,它会在不调用处理程序的情况下关闭(没有输出)。 如何使控制器使用添加到的处理程序? 问题答案: 如果你看一下在生命周期中的类: 每当启动应用程序时,JavaF

  • 我想在关闭JavaFX应用程序之前保存一个文件。 这就是我在中设置处理程序的方法: 以及当按下按钮时调用的控制器: 如何使控制器使用我添加到中的处理程序?

  • 事件就是用户或浏览器自身执行的某种动作。诸如click、load 和mouseover,都是事件的名字。而响应某个事件的函数就叫做事件处理程序(或事件侦听器)。事件处理程序的名字以"on"开头,因此click 事件的事件处理程序就是onclick,load 事件的事件处理程序就是onload。为事件指定处理程序的方式有好几种。 13.2.1 HTML事件处理程序某个元素支持的每种事件,都可以使用一