获取SWT StyledText小部件始终滚动到其结尾

时间:2011-06-12 10:45:44

标签: java swt styledtext

如果新的文本行被附加到SWT StyledText小部件,它总是保持滚动到最后?

我试图寻找一些可以让我设置滚动位置的功能,但我找不到任何功能。没有一个属性可以让我这样做。

2 个答案:

答案 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);

        }
    });