我已经将带有html小程序标记的小程序启动迁移到带有小程序描述符的jnlp部署。
对于小程序解决方案,当浏览器窗口关闭时,java应用程序结束。
使用JNLP解决方案,当窗口关闭时,java应用程序不会停止。并引发异常:
Plugin2Manager calling stopFailed() because of exception during AppContext.dispose()
Plugin2Manager calling stopFailed() because of displayable window javax.swing.JFrame[frame0,240,1,1018x647,invalid,hidden,layout=java.awt.BorderLayout,title=TimeCheck,normal,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,3,32,1012x612,invalid,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true]
Exception in thread "Thread-19" java.lang.NullPointerException
at sun.plugin2.applet.Plugin2Manager.destroyAppContext(Unknown Source)
at sun.plugin2.applet.JNLP2Manager.destroyAppContext(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.cleanupAppContext(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.shutdownAppContext(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.stop(Unknown Source)
at sun.plugin2.applet.viewer.JNLP2Viewer$2$1.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
非常感谢。
解决方案是将WindowListener添加到顶级框架。一旦我们有了TopLevel Frame,也可以设置Resizable。
....
while (parent.getParent() != null)
parent = parent.getParent();
if (parent instanceof Frame) {
((Frame) parent).setResizable(true);
((Frame) parent).addWindowListener(this);
}
....
关闭事件的事件处理程序将执行一个系统。退出();
public void windowClosed(WindowEvent e) {
// TODO Auto-generated method stub
System.exit(0);
}
问题内容: 在Swing中,您可以简单地用于在关闭窗口时关闭整个应用程序。 但是,在JavaFX中找不到等效项。我有多个打开的窗口,如果一个窗口关闭,我想关闭整个应用程序。用JavaFX做到这一点的方法是什么? 编辑: 我了解可以覆盖以在窗口关闭时执行一些操作。问题是应该执行什么操作才能终止整个应用程序? 类中定义的方法不执行任何操作。 问题答案: 当最后一个关闭时,应用程序自动停止。目前,您的类
< b >想改进这个问题?通过编辑此帖子添加详细信息并澄清问题。 我用lwjgl框架做了一个游戏——它使用opengl窗口来渲染。我想每5秒钟渲染一次,而不停止游戏的更新。有什么方法可以做到这一点,直接用lwjgl还是用opengl?我猜这应该不是非常复杂,但我似乎找不到任何东西。
对于JavaFX,通常是: 是否有方法检测TornadoFX视图关闭?
我不想更改端口号,但收到异常“exception in thread”main“java.net.BindException:Address already in use:JVM_Bind” ServerSocket服务器=新服务器套接字(1234180);
我试图重新创建Connect四,我成功了。但我想通过频繁地切换颜色,给玩家一个获胜的四张光盘在哪里的指示。我对线程和编程中的时间概念是新的。 我也成功地给了用户这个指示,但是在关闭应用程序之后,控制台仍然会给出输出,也是在使用SetonCloserEquest时。 代码如下:
我使用Pygame和Pydub用Python编写了一个音乐播放器(我使用Pygame实际播放音乐,而Pydub可能与这个问题无关)。 除非我切换到另一个Pygame窗口,否则即使切换了窗口,音乐也能正常工作。我认为如果我编译它(cx_freeze),这种效果会消失,但那不起作用。 所以我想知道是否有什么方法可以让音乐在窗口切换到另一个Pyplay窗口时继续播放。 我使用而不是声音对象,如果可能有某