[英]Styled Text setText have bad perfomance
I have little problem with StyledText
. 我对
StyledText
没什么问题。 When I use setText()
Method and text is long, I must wait few seconds for render that text. 当我使用
setText()
方法并且文本很长时,我必须等待几秒钟以呈现该文本。 Is there any method what can I use to speed up showing this text? 有什么方法可以用来加快显示此文本的速度?
The only optimisation you can implement is putting your setText()
in a
in a Job
or
Runnable
to not block the UI. 您可以实现的唯一优化是将
setText()
放入
Job
或
Runnable
以不阻塞UI。
Other than that, it's an API limitation from SWT. 除此之外,它是SWT的API限制。
Other suggestions: 其他建议:
StyledText
, although apparently none exist StyledText
,尽管显然不存在 Edit:
编辑:
/** * * @author ggrec * */ public class Test { public static void main(final String[] args) { new Test(); } private Test() { final Display display = new Display(); final Shell shell = new Shell(display); shell.setLayout(new GridLayout(1, false)); final Button button = new Button(shell, SWT.PUSH); button.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false)); button.setText("Press me"); final StyledText text = new StyledText(shell, SWT.NONE); text.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); button.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(final SelectionEvent e) { Display.getDefault().asyncExec(new Runnable() { @Override public void run() { text.setText("*put very long text here*"); } }); } }); shell.setSize(1000, 1000); shell.open(); while (!shell.isDisposed()) { if ( !display.readAndDispatch() ) display.sleep(); } display.dispose(); } }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.