Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将插入符号位置设置为文本控件中的特定行_Java_Swt - Fatal编程技术网

Java 将插入符号位置设置为文本控件中的特定行

Java 将插入符号位置设置为文本控件中的特定行,java,swt,Java,Swt,我有一个输入屏幕,用户在其中输入SWT文本控件。当用户输入文本时,我会对其进行处理,并将其显示在一个单独的只读结果文本控件中。结果文本的长度可能比输入文本长几个字符 我想定位结果文本控件显示,以便它始终显示用户当前在输入控件中键入的行 我可以使用ivTextInput.getCaretLineNumber()获取输入插入符号行,但是没有相应的方法来设置插入符号行号 我可以使用ivTextResult.setSelection(ivTextInput.getCaretPosition())设置插入

我有一个输入屏幕,用户在其中输入SWT文本控件。当用户输入文本时,我会对其进行处理,并将其显示在一个单独的只读结果文本控件中。结果文本的长度可能比输入文本长几个字符

我想定位结果文本控件显示,以便它始终显示用户当前在输入控件中键入的行

我可以使用
ivTextInput.getCaretLineNumber()
获取输入插入符号行,但是没有相应的方法来设置插入符号行号

我可以使用
ivTextResult.setSelection(ivTextInput.getCaretPosition())
设置插入符号在结果中的位置,但是我对输入文本所做的处理可能会将结果文本“推”到不滚动就看不见的位置

理想情况下,结果文本显示将与输入文本显示相结合,以便用户键入的内容/位置始终与结果文本对齐


我已经尝试跟踪处理添加的额外字符,但是用户可以在文本控件中的任何位置添加文本,并且产生的混乱是不可用的,另外,SWT文本控件处理新行的方式会导致计算失败。

text
有一个
setTopIndex
方法来设置控件顶部可见的行:

public void setTopIndex(int index)

Text
有一个
setTopIndex
方法来设置控件顶部可见的行:

public void setTopIndex(int index)

可能是使用
Text.setTopIndex
将行设置在topArgh!我没有看到这一点,而且也不会将其与设置直线位置联系起来。谢谢我将其设置为
ivTextResult.setTopIndex(ivTextInput.getCaretLineNumber()-1)
,这非常有效,可能需要使用
Text.setTopIndex
将行设置在topArgh!我没有看到这一点,而且也不会将其与设置直线位置联系起来。谢谢我将其设置为
ivTextResult.setTopIndex(ivTextInput.getCaretLineNumber()-1)
,效果非常好,是的。根据对问题的评论,在你回答之前12小时发布。因为它做了你想要的。我将此作为答案发布,以便在进行搜索(stackoverflow、Google等)时帮助其他人,该搜索是否不包括问题文本,从而将此人引导到此处?他们会在评论中看到解决方案在哪里?我不想表现得尖刻,我只是希望它能这样工作,因此不需要“回答”。评论不是永久性的,它们可能会被删除。人们寻找有答案的问题。嗯,是的。根据对问题的评论,在你回答之前12小时发布。因为它做了你想要的。我将此作为答案发布,以便在进行搜索(stackoverflow、Google等)时帮助其他人,该搜索是否不包括问题文本,从而将此人引导到此处?他们会在评论中看到解决方案在哪里?我不想表现得尖刻,我只是希望它能这样工作,因此不需要“回答”。评论不是永久性的,它们可能会被删除。人们寻找有答案的问题。