私が使用してアプリケーション移行していますJavaFX
からJava 1.7
にしますJava 11
。私が持っているエラーの一つは、方法についてですStageHelper.getStages()
消えてしまいました。私はそれを置き換えるために何かを見つけることができませんでした。あなたは、このメソッドを交換するためのソリューションを持っていますか?ご協力ありがとうございました !:)
StageHelper
それはの一部であったとして、常にプライベートAPIとなっていますcom.sun.javafx.stage
。そのように、あなたはプライベートAPIは、通知なしにいつでも変更または削除することができることを認識すべきです。
Javaの1.7のために私は、JavaFXの(2.2?)その時点でオープンソース化はなかったと言うことはできません。
Javaの1.8のために、StageHelper.getStages()
方法を見つけることができるここに。
Javaの1.9の場合はしかし、StageHelper
定義ここでは、含まれていませんgetStages
もう。
その理由は、この問題で見つけることができるステージクリーンアップとStageHelper:JDK-8156170。
あなたが説明を読めば、問題の一部として、彼らは以下となります。
削除
getStages()
、公開APIを使用するには、このメソッドの呼び出し元にして作りますWindow.getWindows()
。
代替
その問題に言及したように、JavaFXの9以来、あなたは、このパブリックメソッドを持ってWindow.getWindows()
、その意志を
現在表示JavaFXのウィンドウへの参照を含むリストを返します
ことを注意Window
することができStage
たりPopupWindow
、ので、多分あなたがそれらを除外することができます。
List<Stage> stages = Window.getWindows().stream()
.filter(Stage.class::isInstance)
.map(Stage.class::cast)
.collect(Collectors.toList());