在命令中反转TranslateTransition

时间:2015-01-06 17:16:03

标签: javafx-8

我正在尝试在BorderPane的左节点上进行TranslateTransition。我可以让节点滑入'点击即可退出'没有按预期工作。这是代码段。

@Override
public void initialize(URL url, ResourceBundle rb) {
    vbx_lfpane.setVisible(false);
}    

@FXML
private void paneClicked(MouseEvent event) {
    if(vbx_lfpane.isVisible()) {
        vbx_lfpane.setVisible(false);
        TranslateTransition tt1 = new TranslateTransition(Duration.millis(500), vbx_lfpane);
        tt1.setFromX(vbx_lfpane.getLayoutBounds().getMinX());
        tt1.setToX( - (vbx_lfpane.getLayoutBounds().getMinX() + vbx_lfpane.getWidth()));
        tt1.play();
    } else {
        vbx_lfpane.setVisible(true);
        vbx_lfpane.setTranslateX(-vbx_lfpane.getWidth());
        TranslateTransition tt2 = new TranslateTransition(Duration.millis(500), vbx_lfpane);
        tt2.setByX(vbx_lfpane.getWidth());
        tt2.play();
    }
}

1 个答案:

答案 0 :(得分:1)

在开始播放"滑出"之前,您可以将vbx_lfpane的展示率设置为false。过渡。转换完成后,您需要将可见性设置为false

tt1.setOnFinished(e -> vbx_lfpane.setVisible(false));
tt1.play();