Ich verwende unten Code für Fortschrittsanzeige für das Laden von Aufgaben. Ich benutze MaskerPane von ControlsFX Fortschrittsanzeige. Aber wenn ich die Komponente benutze, zeigt maskerpane nur 1 Mal an ... Bitte schlage einen besseren Weg vor, um den Fortschrittsindikator anzuzeigen.Fortschrittsanzeige für Javafx App
@FXML
private MaskerPane progressPane;
@FXML
private void addMemberSelect() {
Task task = new Task<Void>() {
@Override
protected Void call() throws Exception {
progressPane.setVisible(true);
return null;
}
@Override
protected void succeeded(){
super.succeeded();
content.setContent(null);
ScreensController colllectScreenController = new ScreensController();
colllectScreenController.loadScreen(Screens.ADD_MEMBER);
colllectScreenController.setScreen(Screens.ADD_MEMBER);
content.setContent(colllectScreenController);
progressPane.setVisible(false);
}
};
new Thread(task).start();
}
Ihre Frage ist nicht sehr klar. Was möchten Sie mit dem MaskPane erreichen? Was funktioniert nicht? Was meinst du mit "Maskerpane zeigt nur 1 Mal"? – ItachiUchiha
sorry für mein Englisch. Wirklich will ich Fortschritt während des Schaltens der Szenen zeigen. Jede Szene enthält einige db Operationen. So will ich zeigen Fortschrittsanzeigen. Der obige Code, den ich benutze, zeigt nur den Fortschritt einmal.Nächste Mal wird es nicht Zeige irgendeinen Fortschrittsbalken – boycod3
Ich sehe nicht, dass du den Fortschritt mit [updateProgress()] (https://docs.oracle.com/javase/8/javafx/api/javafx/concurrent/Task.html#updateProgress-double) aktualisierst -double-) auf die Aufgabe. Wenn Sie es nicht verwenden, zeigt die Fortschrittsanzeige niemals den Fortschritt an. Es gibt mehrere Beispiele, die zeigen, wie man es in den Javadocs für [Task] verwendet (https://docs.oracle.com/javase/8/javafx/api/javafx/concurrent/Task.html). – ItachiUchiha