[英]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.