Java如何产生有滚动条的TextArea
2016-06-20 23:41
369 查看
当TextArea中消息不断递增时,可以适时滚动以显示最新的信息。
谢谢 wangyi6912的回答。我使用static int SCROLLBARS_VERTICAL_ONLY 只创建并显示垂直滚动条。 现在问题是,我在TextArea中输入内容增多时,显示的是最早的内容而不是最新的,如何使滚动条总是拉置最下边呢?说得好加分!
补充回答:你向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); } }
相关文章推荐
- 一个简单的Java web服务器实现
- 分布式锁1 Java常用技术方案
- Java多线程锁释放
- 基于JavaMail的Java邮件发送:复杂邮件发送
- java 调用mysql的存储过程(简单示例)
- Struts2+Spring3+Hibernate4+JavaEE6 配置
- Java中动态代理使用
- 怎么用maven创建一个Java Web项目?
- Java 序列化Serializable详解(附详细例子)
- RxJava concat符操作处理多数据源
- SpringMVC详细示例实战教程
- 错误 java.lang.ClassCastException: com.xx cannot be cast to ResourceBundle
- java基本类型
- 用jBeanBox替换Spring内核实现无XML配置的声明式事务服务
- 关于list的 java.util.ConcurrentModificationException异常处理
- sqlite - java 初学
- 深入理解JAVA集合系列三:HashMap的死循环解读
- Java集合源码阅读笔记(1)
- Java7语法新特性
- 使用Struts2搭建登录注册示例