2012-08-27 23 views
-1

我一直在与各种文本组件乱七八糟,现在我来这里寻求答案。最适合JTextComponent

我需要的是在其中用户可以通过键盘和/或复制/粘贴文本输入一个区域。 这些是组件的要求:

自动换行,能够限制行数(单词换行),防止用户输入某些字符(或换行换行)的能力,扩展和减少的能力根据其内容的高度(使内容配合到分量并且没有剩余的(几个像素是细)exces高度,来检测其高度的变化的能力,无论是直接或通过跟踪的行号。

+2

请查看【如何提问聪明的办法(HTTP ://www.catb.org/esr/faqs/smart-questions.html),因为这可以帮助你解释你的问题,这样会更容易回答。考虑创建并发布你的[sscce](http://sscce.org),以便我们可以看到你迄今为止做了什么,并更好地处理你想要做的事情。请摆脱所有关于“竞赛”和“赢家”的提法,因为这不是本网站的内容。 –

+1

另外,我的关于考虑使用JList的类似[先前的问题](http://stackoverflow.com/questions/12145433/getting-indirect-source-of-documentlistener)的建议仍然存在。 –

+0

*“限制行数(单词缩写),..”*更常见的是限制列宽/宽度,特别是如果它具有*“扩展和降低高度的能力”*。 –

回答

3

有无一起来看看由Java API这里提供的不同文本组件:Using Text Components

在它上面有3种不同类型的文本的直流电阻率TS:

  • 文本控件
  • 纯文本区
  • 样式文本区

它看起来像上次Styled Text Areas的定义适合您的需要:

一个样式文本组件可以使用多个 字体显示可编辑文本。一些样式化的文本组件允许嵌入图像,甚至嵌入式组件。样式化的文本组件功能强大,适合高端需求的多面组件,并且提供比其他文本组件更多的定制途径。由于 功能强大且灵活,所以样式化的文本组件通常需要更多的初始编程来设置和使用。一个例外是 编辑器窗格可以通过URL中的格式化文本轻松加载, 这使得它们可用于显示不可编辑的帮助信息。

这将包括这样的人: