我有一个swt StyledText的问题,其中部分文字必须是彩色的。
在MAC OSX上使用以下代码(在Windows上正常工作)时,输入多个'f'字符时会出现问题。当'f'后跟'i'或'l'时,也存在一个问题。除此之外,没有问题。
editboxFreeSpt2 = new StyledText(grpSoundsLike, SWT.BORDER | SWT.SINGLE);
editboxFreeSpt2.addModifyListener(new ModifyListener()
{
public void modifyText(ModifyEvent e)
{
editboxFreeSpt2.setStyleRanges(new StyleRange[0]);
StyleRange newStyleRange = new StyleRange();
newStyleRange.start = editboxFreeSpt2.getText().length() - 1;
newStyleRange.length = 1;
newStyleRange.foreground = red;
editboxFreeSpt2.setStyleRange(newStyleRange);
}
});
editboxFreeSpt2.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
所以问题是,在StyleRange设置正确的情况下,最后一个f / i / l字符并不总是那样。 我正在使用osx 10.7.5和eclipse helios org.eclipse.swt.cocoa.macosx.x86_64_3.6.2.v3659b.jar
所以我认为这可能是SWT或OSX本机组件中的错误。 什么是修复此错误或使用黑客来覆盖它的最佳方法?