Wie Sie in der Nähe der Bühne nach einer gewissen Zeit JavaFX
Derzeit arbeite ich mit beiden controller-Klassen.
In Controller1 erstellt es eine neue Bühne, die öffnet sich auf der Oberseite des Haupt einem.
Stage stage = new Stage();
Parent root = FXMLLoader.load(getClass().getResource("Controller2.fxml"));
Scene scene = new Scene(root);
stage.setScene(scene);
stage.show();
Nun einmal, die Bühne ist offen, ich will es, offen zu bleiben für etwa 5 Sekunden, bevor Sie schließen selbst.
Innerhalb Controller2, ich habe versucht, die Implementierung so etwas wie
long mTime = System.currentTimeMillis();
long end = mTime + 5000; //5 seconds
while (System.currentTimeMillis() > end)
{
//close this stage
}
aber ich habe keine Ahnung, was man in der while-Schleife, um es zu schließen. Ich habe versucht, alle möglichen und nichts funktioniert.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden
PauseTransition
:Tun Sie Ihre Weise, das funktionieren würde:
Müssen Sie speichern Sie Ihre Bühne in eine variable.
Vielleicht ist es besser zu laufen, dass in einem Thread, so dass Sie etwas tun können, innerhalb der 5 Sekunden.
Eine andere Möglichkeit ist das ausführen eines Thread.sleep(5000); und dies wäre auch schneller als die while-Schleife.
stage.close()
imPlatform.runLater(...)
wie das ausgeführt werden soll, auf die FX Application Thread. Es ist einfacher zu verwenden, einePauseTransition
.Diesem code wird der text von einem TextArea-element und macht es sichtbar für eine gewisse Zeit. Es ist im wesentlichen erstellt ein pop-up-Meldung angezeigt:
Diese Lösung ist völlig allgemein. Sie können ändern Sie die setStyle-Methoden, um den code, den Sie möchten. Sie können öffnen und schließen einer Bühne, wenn Sie mögen.