如果新的文本行被附加到SWT StyledText小部件,它总是保持滚动到最后?
我试图寻找一些可以让我设置滚动位置的功能,但我找不到任何功能。没有一个属性可以让我这样做。
答案 0 :(得分:9)
添加文字后,只需添加此行:
styledText.setTopIndex(styledText.getLineCount() - 1);
如果您在多个地方更改StyledText的内容,请使用Modify
上的监听器转至not repeat yourself:
styledText.addListener(SWT.Modify, new Listener(){
public void handleEvent(Event e){
styledText.setTopIndex(styledText.getLineCount() - 1);
}
});
答案 1 :(得分:3)
另一种变化:
styledText.addModifyListener(new ModifyListener() {
@Override
public void modifyText(ModifyEvent e) {
styledText.setTopIndex(styledText.getLineCount() - 1);
}
});