javafx:如何关闭未知子项 stages/windows

javafx: how to close unknown child stages/windows

我使用此代码通过 xuggler 转换视频: http://www.jochenhebbrecht.be/site/2010-10-12/java/converting-resizing-videos-in-java-xuggler

转换工作正常,行:

reader.addListener(ToolFactory.makeViewer(true));

让我看两个 windows 视频和 statistics.The 问题是,转换后 windows 不会自动关闭,我不知道该怎么做。

我把上面这行改成了

IMediaListener imL=ToolFactory.makeViewer(IMediaViewer.Mode.FAST_VIDEO_ONLY,true);
reader.addListener(imL);

然后我插入

reader.removeListener(imL);
            reader.close();

但是 windows 在转换/任务后不会消失 finished.So 我想知道如何访问这个 windows 来实现一个简单的 stage.close ().

编辑:我正在使用 Java 8

编辑2: 我现在尝试

StageHelper.getStages().size(); //-> 1

Iterator<Window> windows=Window.impl_getWindows();
String window_String="";
while(windows.hasNext()){
    window_String+=" |-> "+
}  
System.out.println("WINDOWS: ---->"+Window.impl_getWindows());

两者都表明只有一个 window.It 似乎来自 windows “reader.addListener(ToolFactory.makeViewer(true));”不在列表中。

问题是 Xuggler 使用 Swing 而不是 JavaFX,所以 Window.impl_getWindows()StageHelper.getStages() 不会 return 使用 ToolFactory.makeViewer(true) 创建的 windows。

所以正确的做法是java.awt.Window.getWindows().