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