Tôi có một ứng dụng khởi động bộ hẹn giờ để mở một tin nhắn trên các hành động của người dùng. Trong hồ sơ JDK có vẻ như tất cả các chủ đề khác đang được gỡ bỏ sau khi thực hiện bởi GC (tôi đoán) nhưng bộ tính giờ tạo ra không bị xóa. Điều gì có thể xảy ra ở đó?Java - Bộ hẹn giờ không bị xóa sau khi thực hiện
hẹn giờ của tôi:
/**
* @param owner
* @param added
*/
public static void splashParentWithAnimation(AnchorPane owner, Parent added,double posX,double posY) {
// addParentWithAnimation(owner, added);
owner.getChildren().add(added);
AnchorPane.setLeftAnchor(added, posX);
AnchorPane.setTopAnchor(added, posY);
FadeTransition ft1 = new FadeTransition(Duration.millis(300), added);
ft1.setFromValue(0.0);
ft1.setToValue(1.0);
ft1.play();
Timer messagePrinter = new Timer();
messagePrinter.schedule(new TimerTask() {
@Override
public void run() {
Platform.runLater(() -> {
if (!owner.getChildren().contains(added))
return;
FadeTransition ft1 = new FadeTransition(Duration.millis(300), added);
ft1.setFromValue(1.0);
ft1.setToValue(0.0);
ft1.play();
ft1.setOnFinished((e) -> {
if (owner.getChildren().contains(added))
owner.getChildren().remove(added);
});
});
}
}, 1000);
}
Có phải vì tôi đang sử dụng một phương pháp tĩnh hay tôi nên phá hủy nó bản thân mình?
tôi không chắc chắn về điều đó nhưng tốt để biết, anyways, tôi sử dụng thời gian của javaFX thay vì đó (ít nhất là cho tôi) là tốt hơn –