繁体   English   中英

ScrollPane Javafx 中的平滑平移

[英]Smooth Panning in ScrollPane Javafx

我有一个启用了 pannable 的 scrollPane。 当平移大图像时,变换“滞后”在鼠标后面,从而形成“块状”变换。 有没有办法解决这个问题? 如果您需要更多细节,请在这里发布真正相关的代码。

我意识到这是一个旧帖子,但其他人可能需要这方面的帮助。 我为解决这个问题所做的是创建一个Transition对象,并在 interpolate 函数下,根据您想要平移的速度将 ScrollPane vValue 或 hValue 设置为等于自身加上 ​​0.001。 vValue 和 hValue 是 ScrollPane 上的查看位置,所以基本上你只是在慢慢增加你的查看内容,所以它看起来像平移但不是。 这是我正在处理的项目中的一个示例,您可以在其中使用 KeyEvents 向下或向上“平移”。

@FXML
ScrollPane scroll;

private Transition down;
private Transition up;

public void initialize(){

    this.down = new Transition() {
        {
            setCycleDuration(Duration.INDEFINITE);
        }
        @Override
        protected void interpolate(double v) {
            scroll.setVvalue(scroll.getVvalue()+0.001);
        }
    };

    this.up = new Transition() {
        {
            setCycleDuration(Duration.INDEFINITE);
        }
        @Override
        protected void interpolate(double v) {
            scroll.setVvalue(scroll.getVvalue()-0.001);
        }
    };
}


@FXML
private void handleKeyPress(KeyEvent event){
    if(event.getCode() == KeyCode.S){
        down.play();
    }
    if(event.getCode() == KeyCode.W){
        up.play();
    }
}

@FXML
private void handleKeyRelease(){
    this.down.stop();
    this.up.stop();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM