Redian新闻
>
如何强令JTextArea显示最末一行
avatar
如何强令JTextArea显示最末一行# Java - 爪哇娇娃
b*i
1
我不希望出现这个scrollbar, 但是希望我在JTextArea里输入的时候,能够永远显示到
最后一行,如何做到?
多谢
avatar
g*g
2
scrollRectToVisible

【在 b***i 的大作中提到】
: 我不希望出现这个scrollbar, 但是希望我在JTextArea里输入的时候,能够永远显示到
: 最后一行,如何做到?
: 多谢

avatar
h*0
3
什么叫“永远显示到最后一行”?是说不让编辑最后一页之前的东西?

【在 b***i 的大作中提到】
: 我不希望出现这个scrollbar, 但是希望我在JTextArea里输入的时候,能够永远显示到
: 最后一行,如何做到?
: 多谢

avatar
b*i
4
比如,我的文本窗口是80 x 40行,不想显示拖动杆。
程序显示了39行,在第40行等待用户输入,现在我输入了80个字符,因为行wrap, 继续
输入的会到下一行。我希望这个文本窗口自动显示第2行到第41行,光标应该移动到第
41行,然后我可以看到继续输入的字符。现在的情况是,当我要输入第41行的时候,光
标所在行看不见了。应该在每个字符输入后,文本窗口得到更新的时候,做一个事情,
就是把最后的40行显示出来,而不是最开始的40行。
有什么办法嘛?

【在 h*****0 的大作中提到】
: 什么叫“永远显示到最后一行”?是说不让编辑最后一页之前的东西?
avatar
h*0
5
也就是说,你要的是永远显示“光标所在行”?
具体方法我不清楚。用光标事件监听是一个办法。你查查doc,可能还有更方便的方法。

【在 b***i 的大作中提到】
: 比如,我的文本窗口是80 x 40行,不想显示拖动杆。
: 程序显示了39行,在第40行等待用户输入,现在我输入了80个字符,因为行wrap, 继续
: 输入的会到下一行。我希望这个文本窗口自动显示第2行到第41行,光标应该移动到第
: 41行,然后我可以看到继续输入的字符。现在的情况是,当我要输入第41行的时候,光
: 标所在行看不见了。应该在每个字符输入后,文本窗口得到更新的时候,做一个事情,
: 就是把最后的40行显示出来,而不是最开始的40行。
: 有什么办法嘛?

avatar
b*i
6
我觉得最大的难点是我不想显示拖动杆。如果有拖动杆很好办,setCaretPosition就可
以。
但是,能用拖动杆但是不显示吗?
我最终的目的就是想实现想dos一样的古代计算机界面,有屏幕卷动,但是不再显示消
失的行。

法。

【在 h*****0 的大作中提到】
: 也就是说,你要的是永远显示“光标所在行”?
: 具体方法我不清楚。用光标事件监听是一个办法。你查查doc,可能还有更方便的方法。

avatar
b*i
7
想了一个办法,把scrollbar显示出来,但是让它很细,比如只有1,不就行了吗?
待会儿试一下

法。

【在 h*****0 的大作中提到】
: 也就是说,你要的是永远显示“光标所在行”?
: 具体方法我不清楚。用光标事件监听是一个办法。你查查doc,可能还有更方便的方法。

avatar
g*g
8
Did you check scrollRectToVisible function I mention?

【在 b***i 的大作中提到】
: 我觉得最大的难点是我不想显示拖动杆。如果有拖动杆很好办,setCaretPosition就可
: 以。
: 但是,能用拖动杆但是不显示吗?
: 我最终的目的就是想实现想dos一样的古代计算机界面,有屏幕卷动,但是不再显示消
: 失的行。
:
: 法。

avatar
h*0
9
其实,现在的cmd也是有滚动条的。
你其实是想要让光标不能自由移动。那你需要Listener来做。

【在 b***i 的大作中提到】
: 我觉得最大的难点是我不想显示拖动杆。如果有拖动杆很好办,setCaretPosition就可
: 以。
: 但是,能用拖动杆但是不显示吗?
: 我最终的目的就是想实现想dos一样的古代计算机界面,有屏幕卷动,但是不再显示消
: 失的行。
:
: 法。

avatar
b*i
10
多谢,正准备用了,
我把scrollbar显示出来后,就实现了我的要求,用户输入的文字可以上卷。
但是,我的JTextArea有背景图。我的目的是文字悬浮于图形之上。比如,文字变化,
图形不变
现在,每次输入字符如果超过最大行数,屏幕自动上滚,文字满足了要求,我把拖动杆
变得很小,看不见。但是,文字上滚时,图形也上滚了,所以准备用
scrollRectToVisible,还有那一套获得现在显示窗口的东西,在paint里面画到新的位
置。
我不想用listener来实现真正的具有屏幕文字缓冲区的textArea,是因为我想显示汉字
,而我选的汉字体的宽度是英文的两倍,会出现我移动光标时有的时候是移动一个字符
,有的时候是两个,再实现delete, back space,我要疯了。现在将就用jTextArea,很
小的问题,就是屏幕上卷后最上一行还是在的,如果用鼠标滚轮上卷,还是能看到。不
过看到就看到吧。

【在 g*****g 的大作中提到】
: Did you check scrollRectToVisible function I mention?
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。