我对StyledText
没什么问题。当我使用setText()
方法和文本很长时,我必须等待几秒钟来渲染该文本。有什么方法可以用来加速显示这个文本吗?
答案 0 :(得分:0)
您可以实施的唯一优化是将setText()
放在中,以阻止用户界面。 Job
中的Runnable
或
除此之外,它是SWT的API限制。
其他建议:
StyledText
,但显然不存在
修改
/**
*
* @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();
}
}