gpt4 book ai didi

java - 在Java中实现延迟

转载 作者:行者123 更新时间:2023-12-01 05:21:35 24 4
gpt4 key购买 nike

嗨,我有以下代码:

okBtn.addEventListener(Events.ON_CLICK, new EventListener()
{
@Override
public void onEvent(final Event arg0) throws Exception
{
//when the user clicks on ok, we take the current
//string from fckeditor...
String currentValue = fckEditor.getValue();
// set the string to preview to the current value
html.setContent(currentValue);

}
});

我面临的问题是,此 fckEditor.getValue() (fckEditor 类似于 textArea)调用存在延迟,因为 ok 操作比 fckEditor.getValue() 检索数据所需的速度更快,并且因此,有时当我非常快地修改 fckEditor 中的文本并点击 okBtn 时,更改不会反射(reflect)出来。

我想出了这个解决方案

    okBtn.addEventListener(Events.ON_CLICK, new EventListener()
{
@Override
public void onEvent(final Event arg0) throws Exception
{

String currentValue;

synchronized (fckEditor)
{
currentValue = fckEditor.getValue();
fckEditor.wait(100);
}

html.setContent(currentValue);

}

});

但是,我并不完全相信这将是最好的解决方案,因为我正在对延迟进行硬编码 .wait(100); 并且不同计算机上的延迟可能会有所不同。因此最终其他环境可能需要或多或少的延迟。

如何让执行等到fckEditor.getValue();调用完全完成?那么 currentValue 可以保存正确的字符串并正确保存吗?

谢谢

最佳答案

Timer timer = new Timer() {
public void actionerformed() {
setRepeats( false );
String currentValue = fckEditor.getValue();
try {
Thread.sleep( 100 );
} catch( Exception ex ) {
ex.printStackTrace();
}//catch
html.setContent(currentValue);
}//met
}//inner class
timer.start();

关于java - 在Java中实现延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10329560/

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