java的JTextArea 和 TextArea 到底有啥根本的区别。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java的JTextArea 和 TextArea 到底有啥根本的区别。相关的知识,希望对你有一定的参考价值。

参考技术A java的JTextArea 和 TextArea 根本的区别如下:
1、TextArea 是Java 1.0中的一部分,它链接到/使用本地OS TextArea组件(现代操作系统都内置的GUI工具包是这样),但是是有问题的,喜欢的java.awt许多其他的事情,在跨平台的兼容性方面。

2、JTextArea是swing的一部分。该项目之后,像文本区域同行组件显著问题的发展,提供了100%的Java GUI解决方案,这将是100%跨平台。

3、老的AWT组件都是线程安全的,而Swing组件都不是线程安全的。swing组件应该仅由UI线程进行修改。
参考技术B JTextArea 是JFrame里的
TextArea 是Frame里的
JFrame继承Frame,所以JTextArea 和 TextArea 的区别是JTextArea继承TextArea本回答被提问者和网友采纳

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更方便。后边还要进一步的学习,对比更多的标签,发现自己认识的不足!

以上是关于java的JTextArea 和 TextArea 到底有啥根本的区别。的主要内容,如果未能解决你的问题,请参考以下文章

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

java中 JTextArea类的属性和方法是啥

Java 中 JTextArea 和 JTextField 的有啥区别?

Java JTextArea KeyListener

java中统计JTextArea中的行数有两个方法的问题!

如何扫描 JTextArea 的行?