2
我有一個帶有多行文本控件的Java SWT GUI。我想將文本行添加到Text控件中,而不會影響文本框中光標的位置。特別是,用戶應該能夠滾動並選擇文本控件頂部的文本,而新的文本行被添加到底部。Java Swt Text(SWT.MULTI)在不滾動的情況下追加文本
這可能嗎?
我有一個帶有多行文本控件的Java SWT GUI。我想將文本行添加到Text控件中,而不會影響文本框中光標的位置。特別是,用戶應該能夠滾動並選擇文本控件頂部的文本,而新的文本行被添加到底部。Java Swt Text(SWT.MULTI)在不滾動的情況下追加文本
這可能嗎?
我切換到使用StyleText控件來修復添加文本時的閃爍問題。有了這個控件,我發現下面的代碼解決了追加文本而不滾動到新位置的問題。
textOutput.setRedraw(false); int scrollP = textOutput.getTopIndex(); Point selectionP = textOutput.getSelection(); textOutput.append(traceText); textOutput.setSelection(selectionP); textOutput.setTopIndex(scrollP); textOutput.setRedraw(true);
實際上,使用StyledText控件時,這是不必要的,因爲appendText不會自動滾動控件。但是,上面的代碼將用於Text控件。 – mchr 2010-06-17 12:42:12
糟糕的是我們需要添加此代碼,無論我們正在更新/追加文本。應該看起來更簡單一些。 – 2014-05-13 12:56:41