#java #swt #styledtext
#java #swt #styledtext
Вопрос:
Как мне заставить виджет SWT StyledText всегда оставаться прокрученным до конца, даже когда к нему добавляются новые строки текста?
Я попытался поискать некоторые функции, которые могли бы позволить мне установить положение прокрутки, но я не могу найти ни одной. Также нет свойства, которое позволяет мне это делать.
Ответ №1:
Просто добавьте эту строку после добавления текста:
styledText.setTopIndex(styledText.getLineCount() - 1);
Если вы меняете содержимое вашего StyledText более чем в одном месте, используйте прослушиватель Modify
, чтобы не повторяться:
styledText.addListener(SWT.Modify, new Listener(){
public void handleEvent(Event e){
styledText.setTopIndex(styledText.getLineCount() - 1);
}
});
Ответ №2:
Другой вариант:
styledText.addModifyListener(new ModifyListener() {
@Override
public void modifyText(ModifyEvent e) {
styledText.setTopIndex(styledText.getLineCount() - 1);
}
});
Комментарии:
1. Мне больше нравится это решение, но я бы предпочел использовать e.widget