StageHelper
всегда был закрытым API, так как он был частью com.sun.javafx.stage
. Поэтому вы должны знать, что закрытый API может быть изменен или удален в любое время без уведомления.
Для Java 1.7 Я не могу сказать, что JavaFX (2.2?) В то время не был открытым исходным кодом.
Для Java 1.8 метод StageHelper.getStages()
можно найти здесь .
Однако для Java 1.9 StageHelper
, определено здесь , небольше не включают getStages
.
Причину этого можно найти в этом выпуске JDK-8156170: Очистить Stage и StageHelper .
Если вы прочиталиописание, как часть проблемы, они будут:
Удалить 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());