java中jtextarea如何从指定行开始显示文字
jtextarea中默认从文本开始显示文字,我想从指定的行开始显示文字,比如有十行文字,原本jtextarea的最上方显示的是第一行文字,我想改为最上方显示的是第五行文字...
jtextarea中默认从文本开始显示文字,我想从指定的行开始显示文字,比如有十行文字,原本jtextarea的最上方显示的是第一行文字,我想改为最上方显示的是第五行文字,该怎么办呢?
从文件中读取文字显示在JTextArea中的,有几百上千行文字,JTextArea有滚动条的,我希望点一个按钮之类的就跳到指定处开始显示,用滚动条也能查看到之前和之后的内容。 展开
从文件中读取文字显示在JTextArea中的,有几百上千行文字,JTextArea有滚动条的,我希望点一个按钮之类的就跳到指定处开始显示,用滚动条也能查看到之前和之后的内容。 展开
3个回答
展开全部
你文本使用流读出来的还是本来组件中就有文字
如果是流的话 可以控制行 例如
int count =0 ; //记录行数
while(true){
String s =in .readLine() ; //代表读取一行数据
if(len==-1) break ; 文件读取完跳出循环
count++ ;
if(count>=5) jtextarea.append(s);
}
如果是流的话 可以控制行 例如
int count =0 ; //记录行数
while(true){
String s =in .readLine() ; //代表读取一行数据
if(len==-1) break ; 文件读取完跳出循环
count++ ;
if(count>=5) jtextarea.append(s);
}
更多追问追答
追问
从文件中读取的文字显示在JTextArea中的,有几百上千行文字,JTextArea有滚动条的,append(s)只是在文本区末尾加文本,用上面的代码的话确实从第五行显示了,但用滚动条也看不到上面的文字了。
追答
我知道了 你的意思是说 通过按钮点击 可以每次跳固定行数来观察已经在文本中显示的字符串 是吧? 就和超级链接差不多的效果
这个效果我想不出来, 因为我没用过swing 不清楚通过光标位置 能不能达到滚动条移动到指定位置并以当前页面第一行的效果显示
我想了一个思路 你试下不一定能成功 每一行字符的个数应该是固定的 例如 每行字符个数为17个 ,每次点击按钮向下移动5行 在按钮事件中应该每次单击一下按钮 光标移动位置为 为17*5 具体能否跳转我也不清楚
展开全部
这个估计要想间接办法,把你不想显示出来的东西隐藏起来
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用事件处理
在确定button被点击的事件处理中
设置JTextArea的光标位置,行话叫插入符Caret
可以使用JTextArea继承自JTextComponent类的方法setCaretPosition(int position)来设置。
即
JTextArea.setCaretPosition(int position)
此处position表示从文本开头数起第position个字符处。
要插入某行行首的话,需要计算该数字,通过以下方法计算:
position = JTextArea.getLineStartOffset(int 行号);
该方法返回给定行号的开头的offset值。。
在确定button被点击的事件处理中
设置JTextArea的光标位置,行话叫插入符Caret
可以使用JTextArea继承自JTextComponent类的方法setCaretPosition(int position)来设置。
即
JTextArea.setCaretPosition(int position)
此处position表示从文本开头数起第position个字符处。
要插入某行行首的话,需要计算该数字,通过以下方法计算:
position = JTextArea.getLineStartOffset(int 行号);
该方法返回给定行号的开头的offset值。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询