AWT: のメソッドを見ましたjava.awt.Window.getWindows()
。JavaFx で、すべてのウィンドウ JavaFx アプリケーションを取得する方法はありますか?
ありがとう、
java8 を実行している javafx8 の場合
FXRobotHelper.getStages()
or
StageHelper.getStages()
これにより、本質的に Window 自体であるすべての Stages が取得されます ( Window クラスを拡張します)。
私の知る限り、これを行う適切な方法はまだありません。
汚れた短期的な方法がありますが:
のソース コードをjavafx.stage.Window
参照すると、期待どおりの動作をするように見える静的メソッドがありますjavafx.stage.Window#impl_getWindows()
。
しかし、免責事項がたくさんあります:
/**
* Return all Windows
*
* @return Iterator of all Windows
* @treatAsPrivate implementation detail
* @deprecated This is an internal API that is not intended for use and will be removed in the next version
*/
@Deprecated
@NoInit
public static Iterator<Window> impl_getWindows() {
final Iterator iterator = AccessController.doPrivileged(
new PrivilegedAction<Iterator>() {
@Override public Iterator run() {
return windowQueue.iterator();
}
}
);
return iterator;
}