gpt4 book ai didi

Java org.eclipse.swt.widgets.Text 输入有一个巨大的延迟

转载 作者:行者123 更新时间:2023-11-30 09:39:23 27 4
gpt4 key购买 nike

代码:

        Display display = new Display();
RowLayout rowLayout = new RowLayout();

Shell shell = new Shell(display);
shell.setLayout(rowLayout);

Text textArea = new Text(shell, SWT.MULTI | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
textArea.setLayoutData(new RowData(200, 200));


shell.open();
while(!shell.isDisposed()) {
if(display.readAndDispatch()) {
display.sleep();
}
}

display.dispose();

问题:输入文本非常慢。我实际上必须等待 1 - 3 秒才能让文本小部件以蜗牛步骤滞后于显示我的文本。我做错了什么吗?

最佳答案

您的 readAndDispatch 循环是倒退的。 documentation对于 Display#readAndDispatch() 声明它:

returns true if there is potentially more work to do, or false if the caller can sleep until another event is placed on the event queue.

因此,您的循环实际上应该是:

while(! shell.isDisposed())
{
if(! display.readAndDispatch())
{
display.sleep();
}
}

我对 sleep() 的理解是,当有新事件需要服务时,它应该能够相当有效地唤醒,但这当然不能保证。 p>

关于Java org.eclipse.swt.widgets.Text 输入有一个巨大的延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9845747/

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