Jtextpane和jtextarea

Anonim

JTextPane与JEditorPane

在讨论两者之间的相似点和不同点之前,重要的是要承认JTextPane和Jtextarea的基本功能。 JTextPane和JEditorPane都是javax.swing.text.JTextComponent的衍生物,JTextPane是JEditorPane的子类。由此可以得出结论,JTextPane是JEditorPane的一种特殊形式,它带有一些额外的功能。

JTextArea具有特定功能;其中一个阻止它在文本放入时包装文本。这实际上意味着如果文本放在其中,它会自动分配到左侧并按此方式直到您按Enter键。

另一方面,JTextPane带有换行文本功能。这有助于在文本字段中创建边界。当一个字母到达边界时,它将自动从下一行开始,而不是JTextArea显示的视图。

为了使JTextArea与JTextPane一样工作,JTextArea中的文本换行实现已经显示允许在前一行到达边界时在新行上自动开始句子。这是主要区别之一。为了使这成为可能,JTextArea使用set setLineWrap(..)和setWrapStyleWord(..)可以控制文本换行的方式。

另一个区别是JTextPane具有单词/段落样式功能,并允许嵌入在单个文档中完成的图像。此功能与JTextArea的功能不同,后者无法在单个文档中编辑图片。

它还表明,JTextPane支持编辑输入的内容,这是JTextArea中不可用的功能,即使在设置了扭曲功能之后也是如此。 JTextPane允许的编辑功能包括下划线,内容加粗和文本着色。

阻止JTextPane成为JTextArea首选的限制是JTextPane在组件使用方面非常繁重。因此,建议使用JTextArea,如果不需要通过加下划线来编辑内容,则使用文本变形功能,使其变粗或着色。这是因为使用JTextPane并且不使用任何样式化特征会导致用户界面显着减慢。这也会导致系统中更多的内存不必要地分配给JTextPane。对于一个易于在系统上轻松构建的轻量级构建程序,只需要最少的输入,建议选择JTextArea,因为它已被证明在用户界面上运行良好,而不需要资源。

由于JTextPane提供的巨大灵活性以及操作系统所需的资源,这意味着在使用之前需要执行更多编程。 JTextPane提供的一个很好的功能是JTextArea中不可用的,它允许编辑器窗格轻松地与来自URL的格式化文本一起加载。这是一个非常重要的功能,因为它允许显示不可编辑的帮助信息。

摘要

JTextPane是javax.swing.text.JTextComponent的衍生物。

JTextArea无法扭曲文本。

JTextPane具有文本变形的可能性

JTextArea可以使用setLineWrap(..)和setWrapStyleWord(..)来扭曲文本

JTextPane资源很重,而JTextArea是资源限制

为了更快的实现,应该使用JTextArea

只有在手头的项目需要样式时才应使用JTextPane

与使用JTextArea相比,JTextPane需要更多编程

JTextPane允许图像嵌入,而JTextArea不允许嵌入图像