Эта функция загружает мой «Пожалуйста, подождите ...» графический интерфейс:Как я могу показать погрузочную графический интерфейс в JavaFX
public void showLoading(Stage ownerStage){
try {
FXMLLoader loader = new FXMLLoader();loader.setLocation(MainApp.class.getResource("/de/ern/loading/Loading.fxml"));
AnchorPane page = (AnchorPane) loader.load();
LoadingController controller = loader.getController();
controller.setLoadingText("Please wait...");
waitStage = new Stage();
waitStage.setTitle("Please wait");
waitStage.getIcons().add(new Image(getClass().getResourceAsStream("logo.png")));//setzt das Icon
waitStage.initModality(Modality.WINDOW_MODAL);
waitStage.initOwner(ownerStage);
Scene scene = new Scene(page);
waitStage.setScene(scene);
waitStage.show();
} catch (IOException e) {
e.printStackTrace();
}
}
Как я должен назвать это, потому что, когда я называю его непосредственно это всегда пусто. Отображается только панель с заголовком. Я нашел много фрагментов кода для Swing, но не для javafx.
EDIT:
Я называю это от контроллера основного графического интерфейса, как это:
mainApp.showLoading(primaryStage);
AllgemeinTab liveWerte = new AllgemeinTab(this);
liveWerte.setName(getAllgTabName());
liveWerte.setBeschreibungDe(getAllgTabBeschreibungDe());
и после этого, следует большой транзакции базы данных.
Это мой FXML Файл:
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.text.*?>
<?import javafx.scene.image.*?>
<?import java.lang.*?>
<?import javafx.scene.layout.*?>
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="64.0" prefWidth="292.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="de.ernst.loading.LoadingController">
<children>
<ImageView fx:id="imgLoading" fitHeight="25.0" fitWidth="25.0" layoutX="20.0" layoutY="20.0" pickOnBounds="true" preserveRatio="true" AnchorPane.bottomAnchor="19.0" AnchorPane.leftAnchor="20.0" AnchorPane.topAnchor="20.0">
<image>
<Image url="@loading.gif" />
</image>
</ImageView>
<Text layoutX="54.0" layoutY="25.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Status:" AnchorPane.topAnchor="17.0">
<font>
<Font name="System Bold" size="12.0" />
</font></Text>
<Text fx:id="txtLoadingDescription" layoutX="54.0" layoutY="24.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Beschreibung..." wrappingWidth="230.44140625" AnchorPane.topAnchor="30.0" />
</children>
</AnchorPane>
Создайте и отправьте сообщение [MCVE]. В коде, который вы опубликовали, нет ничего плохого. –
Можете ли вы вставить свой файл fxml? – ttarczynski