JTextArea与TextArea自动换行和滚动条的区别对比

  最近在用Java写一个仿记事本的程序,但是发现用JTextArea写的效果有点差,但是用TextArea自动换行并不那么方便,经过对比和实践,我也发现自己对这两个标签认识存在不足,下面就来讨论一下他们的用法:

  1、自动换行

  对于JTextArea来说,自动换行so easy,依据代码就搞定,代码如下:

JTextArea jtextArea = new JTextArea();  // 新建jtextArea
jtextArea.setLineWrap(true);   //实现自动换行

  对于TextArea来说,我刚开始理解的是给他设置一个列数,也就是在他的列数超过设置的数值时,自动换行,但是发现没有效果,经过查找和搜索,最终发现,有简单的方法,经过实践,确实更方便,代码如下:

TextArea textArea = new TextArea("", 20, 43, TextArea.SCROLLBARS_VERTICAL_ONLY); //  创建文本区

   也就是在创建文本区时就直接设置了,TextArea.SCROLLBARS_VERTICAL_ONLY的意思是仅垂直方向设置,也正是由于这种设置才达到了自动换行的效果,如果通过TextArea的其他构造方法,创建出来的文本区是含垂直和水平两个方向的滚动条,也就是不支持自动换行的

  2、滚动条

  虽然JTextArea可以很方便实现自动换行,但是有一个问题,让人很不爽,就是需要我们再次添加滚动条(JScrollPane),而且滚动条有点丑,也就是要添加下面的代码:

JScrollPane scrollPane = new JScrollPane(textArea);    //创建滚动条,需要指定添加位置
scrollPane.setVerticalScrollBarPolicy( JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); //设置滚动条的形式

  正如上面我提到的,TextArea是默认自带滚动条(默认为SCROLLBARS_BOTH),如果不想有滚动条,把TextArea.SCROLLBARS_VERTICAL_ONLY改为SCROLLBARS_NONE,就可以了

  通过实践,确实发现自己对这两个标签的认识不足,显然TextArea更方便。后边还要进一步的学习,对比更多的标签,发现自己认识的不足!

时间: 2024-11-09 18:18:33

JTextArea与TextArea自动换行和滚动条的区别对比的相关文章

开源数据库 H2, HSQLDB, DERBY, PostgreSQL, MySQL区别/对比图表( 附加翻译)

开源数据库 H2, HSQLDB, DERBY, PostgreSQL, MySQL区别/对比图表 浪天涯博主翻译: referential integrity 参考完整性transactions 事物unicode 统一码interface 命令 界面 接口data size db limit 数据库数据大小限制temporary table 临时表支持materialized view 物化视图(快照)indexes 索引union 联合查询intersect 交集查询except exce

魔力耳朵和哒哒、hellokid、阿卡索哪个好?区别对比,试听过的家长来说说

现在的家长都是比较注重孩子的英语教育的.学英语主要目的就是为了实现更好的交流,所以更深层次的提高孩子的口语能力是很有必要的.目前在线少儿英语机构中,比较出名的几家有魔力耳朵.哒哒.hellokid以及阿卡索这几家,魔力耳朵和哒哒.hellokid.阿卡索哪个好?区别对比一下. 魔力耳朵是线上一对四的小班制,精选北美外教,高品质教材是基于欧洲语言框架设计的,认可度比较高.固定外教,固定时间上课,一节课低至50元,不算很贵. 哒哒英语是一对一线上机构,纯正欧美外教,固定外教,固定时间.同步美国won

jQuery---jq基础了解(语法,特性),JQ和JS的区别对比,JQ和JS相互转换,Jquery的选择器(基础选择器,层级选择器,属性选择器),Jquery的筛选器(基本筛选器,表单筛选器),Jquery筛选方法

jQuery---jq基础了解(语法,特性),JQ和JS的区别对比,JQ和JS相互转换,Jquery的选择器(基础选择器,层级选择器,属性选择器),Jquery的筛选器(基本筛选器,表单筛选器),Jquery筛选方法 一丶什么是JQuery JQuery: ???????JQuery是js的一个库,高度封装了js常用的功能,提供简便方法,调用简单,提高开发效率 ??????js库是包含了把复杂的功能封装到简单的方法中 JQuery的两大特性: ???????链式编程:可以.的形式实现多个功能 ?

textarea去掉右侧滚动条,去掉右下角拖拽

/*去掉textarea右下角三角符号*/ resize : none;

JUnit4 中@AfterClass @BeforeClass @after @before的区别对比

  @BeforeClass and @AfterClass @Before and @After 出现次数 在一个类中只可以出现一次 在一个类中可以出现多次,即可以在多个方法的声明前加上这两个Annotaion标签,执行顺序不确定 方法名限制 方法名不做限制 方法名不做限制 运行次数 在类中只运行一次 在每个测试方法之前或者之后都会运行一次 执行顺序 @BeforeClass父类中标识了该Annotation的方法将会先于当前类中标识了该Annotation的方法执行.@AfterClass

PHP 5.2、5.3、5.4、5.5、5.6 版本区别对比以及新功能详解

截至目前(2015.1), PHP 的最新稳定版本是 PHP5.5, 但有差不多一半的用户仍在使用已经不在维护  的 PHP5.2, 其余的一半用户在使用 PHP5.3 .因为 PHP 那"集百家之长"的蛋疼语法,加上社区氛围不好,很多人对新版本,新特征并无兴趣.本文将会介绍自 PHP5.2 起,直至 PHP5.6 中增加的新特征. PHP5.2 以前:autoload, PDO 和 MySQLi, 类型约束 PHP5.2:JSON 支持 PHP5.3:弃用的功能,匿名函数,新增魔术方

Vue与React两个框架的区别对比

简单介绍 React--Facebook创建的JavaScript UI框架.它支撑着包括Instagram在内的大多数Facebook网站.React与当时流行的jQuery,Backbone.js和Angular 1等框架不同,它的诞生改变了JavaScript的世界.其中最大的变化是React推广了Virtual DOM(虚拟DOM)并创造了新的语法--JSX,JSX允许开发者在JavaScript中书写HTML(译者注:即HTML in JavaScript). Vue致力解决的问题与R

libevent和libev的区别对比(二)

之前有一篇文章描述过一些对比: http://www.cnblogs.com/charlesblc/p/6078029.html 这里在代码和应用方面再说一下. 看一下两边的Helloworld基本就了解个大概. libevent的hello world #include <sys/signal.h> #include <event.h> void signal_cb(int fd, short event, void *arg) { event_base *base = (eve

Spring注解@Resource和@Autowired区别对比

@Resource和@Autowired都是做bean的注入时使用,其实@Resource并不是Spring的注解,它的包是javax.annotation.Resource,需要导入,但是Spring支持该注解的注入. 1.共同点 两者都可以写在字段和setter方法上.两者如果都写在字段上,那么就不需要再写setter方法. 2.不同点 (1)@Autowired @Autowired为Spring提供的注解,需要导入包org.springframework.beans.factory.an