Кажется, что com.gluonhq.charm.glisten.control.Alert
может появиться только в том случае, если представление полностью загружено.
К сожалению, у меня есть особый случай, когда я хочу, чтобы предупреждение отображалось до появления любого представления, и его дочерние элементы появлялись. (В моем случае я загружаю файл F XML и хочу создать экземпляр Alert в методе контроллера initialize()
.) Но в этом случае он не работает. В то время как javafx.scene.control.Alert
появляется без проблем, Gluon Alert вызывает NullPointerExcpetion
в строке, где я пытаюсь создать его экземпляр. Но мне нужно использовать класс Alut от Gluon из-за его кроссплатформенных преимуществ.
В этой ситуации он тоже не работает, приложение работает вечно, а представление никогда не отображается:
public class BasicView extends View {
public BasicView() {
Alert l = new Alert(javafx.scene.control.Alert.AlertType.INFORMATION);
l.showAndWait();
Button button = new Button("Button");
setCenter(button);
}
}
В этом случае представление успешно отображается, и после этого предупреждение отображается без каких-либо проблем:
public BasicView() {
Button button = new Button("Button");
setCenter(button);
Platform.runLater(() -> {
Alert l = new Alert(javafx.scene.control.Alert.AlertType.INFORMATION);
l.showAndWait();
});
}
Вот почему я предположил, что он работает только при загрузке View.
Так может кто-нибудь мне помочь? Как я могу получить предупреждение, которое будет отображаться до того, как появится представление? Это вообще возможно?