我有一个启用了pannable的scrollPane。当使用大图像进行平移时,转换会延迟#34;鼠标背后的“块状”"转型。有没有办法来解决这个问题?如果您需要更多具体信息,那么没有太多与此相关的代码可以发布。
答案 0 :(得分:1)
我意识到这是一篇过时的文章,但其他人可能需要在这方面提供帮助。解决此问题的方法是创建一个Transition
对象,然后在插值函数下,将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();
}