2011-06-12 82 views
2

如何讓SWT StyledText小部件始終保持滾動到最後?即使新文本行被附加到SWT StyledText小部件上?獲取SWT StyledText小部件始終滾動到其結尾

我試圖尋找一些功能,可以讓我設置滾動位置,但我找不到任何。沒有一個屬性可以讓我做到這一點。

回答

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); 
    } 
}); 
+0

太感謝你了! :) – Carven 2011-06-13 14:06:31

3

另一個變化:

styledText.addModifyListener(new ModifyListener() { 

     @Override 
     public void modifyText(ModifyEvent e) { 
      styledText.setTopIndex(styledText.getLineCount() - 1); 

     } 
    }); 
+0

我更喜歡這個解決方案,但我更喜歡投e.widget – VeikkoW 2014-08-28 12:11:39