Java如何产生有滚动条的TextArea?(代码)

当TextArea中消息不断递增时,可以适时滚动以显示最新的信息。谢谢wangyi6912的回答。我使用staticintSCROLLBARS_VERTICAL_ONLY... 当TextArea中消息不断递增时,可以适时滚动以显示最新的信息。
谢谢 wangyi6912的回答。我使用static int SCROLLBARS_VERTICAL_ONLY
只创建并显示垂直滚动条。
现在问题是,我在TextArea中输入内容增多时,显示的是最早的内容而不是最新的,如何使滚动条总是拉置最下边呢?说得好加分!
展开
 我来答
zeus3288
推荐于2017-11-23 · TA获得超过1312个赞
知道小有建树答主
回答量:525
采纳率:0%
帮助的人:795万
展开全部
补充回答:你向TextArea内追加内容可以使用append方法,滚动条自动下滚;如果你使用的是 setText方法,那么需要手工把光标定位到内容的最后,同样可以是滚动条下滚。代码如下:
import java.awt.Frame;
import java.awt.TextArea;

public class TestFrame {

public static void main(String[] args){
Frame jf=new Frame();
TextArea jta=new TextArea();
jf.add(jta);
jf.setSize(400, 300);
jf.setVisible(true);
jta.setText("test\n");
for(int i=0;i<100;i++){
jta.setText(jta.getText()+"hello"+i+"\n");
jta.setCaretPosition(jta.getText().length());
}
// jta.append("hello"+i+"\n"); //这样方式只需要一行代码
}
}

1)如果是JTextArea,需要把JTextArea包含到JScrollPane滚动面板中
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

public class TestFrame {

public static void main(String[] args){
JFrame jf=new JFrame();
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JTextArea jta=new JTextArea();
JScrollPane jp=new JScrollPane(jta);
jf.getContentPane().add(jp);
jf.setSize(400, 300);
jf.setVisible(true);
}
}
2)如果是TextArea,使用缺省方式就可以
import java.awt.Frame;
import java.awt.TextArea;

public class TestFrame {

public static void main(String[] args){
Frame jf=new Frame();
TextArea jta=new TextArea();
jf.add(jta);
jf.setSize(400, 300);
jf.setVisible(true);
}
}
AmorUnico艾唯子语
2010-01-29 · TA获得超过1616个赞
知道小有建树答主
回答量:630
采纳率:66%
帮助的人:298万
展开全部
这是一个例子:TextArea jta = new TextArea("",20,20,TextArea.SCROLLBARS_BOTH );
下面是原理:

api文档如此描述:
public TextArea(String text,
int rows,
int columns,
int scrollbars)

text - 要显示的文本;如果 text 为 null,则显示空字符串 ""
rows - 行数;如果 rows 小于 0,则将 rows 设置为 0
columns - 列数;如果 columns 小于 0,则将 columns 设置为 0
scrollbars - 确定为查看文本区创建的滚动条类型的常量

scrollbars 有如下几种:
static int SCROLLBARS_BOTH
创建并显示垂直和水平滚动条。
static int SCROLLBARS_HORIZONTAL_ONLY
只创建并显示水平滚动条。
static int SCROLLBARS_NONE
不为文本区创建或显示任何滚动条。
static int SCROLLBARS_VERTICAL_ONLY
只创建并显示垂直滚动条。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
FourQueue
2010-01-29 · TA获得超过1297个赞
知道小有建树答主
回答量:1505
采纳率:0%
帮助的人:811万
展开全部
弄个文本域,设置大小,字多了,自动有滚动条了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式