gpt4 book ai didi

scroll - 如何平滑滚动SWT composite?

转载 作者:行者123 更新时间:2023-12-05 01:15:00 37 4
gpt4 key购买 nike

我正在使用 SWT ScrolledComposite,但是当我在 Windows 中滚动时,如果我快速滚动,我会出现一些撕裂/闪烁。我该怎么做才能加倍缓冲或减少这种影响,或者我该怎么做才能覆盖默认滚动功能并使其滚动更流畅?滚动区域中有文本框,所以我认为 Canvas 不起作用。

最佳答案

诀窍是延迟播放并使用一个像素滚动。

以下是我实际执行此操作的部分代码:

public void scrollOnePixelUp() {
scrolledComposite.getContent().setLocation(0, scrolledComposite.getContent().getLocation().y - 1);
}

public void scrollOnePixelDown() {
scrolledComposite.getContent().setLocation(0, scrolledComposite.getContent().getLocation().y + 1);
}

private int pixelScrollDelay = 50;//ms

scrollingThread = new Thread() {
public void run() {
doScrolling = true;
int i = 0;
while((i < scrollLength) && running && doScrolling) {
i++;

if (d.isDisposed())
return;
d.asyncExec(new Runnable() {
public void run() {
if (scrollUp)
scrollOnePixelUp();
else
scrollOnePixelDown();
}
});


try {
sleep(pixelScrollDelay);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
doScrolling = false;
}
};

希望对您有所帮助!

关于scroll - 如何平滑滚动SWT composite?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/861546/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com