5

AWT: のメソッドを見ましたjava.awt.Window.getWindows()。JavaFx で、すべてのウィンドウ JavaFx アプリケーションを取得する方法はありますか?

ありがとう、

4

3 に答える 3

8

java8 を実行している javafx8 の場合

FXRobotHelper.getStages()
 or 
StageHelper.getStages()

これにより、本質的に Window 自体であるすべての Stages が取得されます ( Window クラスを拡張します)。

于 2014-04-05T14:52:37.077 に答える
6

私の知る限り、これを行う適切な方法はまだありません。

汚れた短期的な方法がありますが:

ソース コードを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;
}
于 2013-03-06T10:18:53.027 に答える