问题描述
|
我如何获得一个SWT StyledText窗口小部件,使其始终保持滚动到末尾,即使在其中添加了新的文本行也是如此?
我试图寻找一些可以让我设置滚动位置但找不到的功能。没有一个属性可以让我执行此操作。
解决方法
添加文本后,只需添加以下行:
styledText.setTopIndex(styledText.getLineCount() - 1);
如果您在多个地方更改了StyledText的内容,请在Modify
上使用侦听器,以免重复自己:
styledText.addListener(SWT.Modify,new Listener(){
public void handleEvent(Event e){
styledText.setTopIndex(styledText.getLineCount() - 1);
}
});
, 另一个变化:
styledText.addModifyListener(new ModifyListener() {
@Override
public void modifyText(ModifyEvent e) {
styledText.setTopIndex(styledText.getLineCount() - 1);
}
});