繁体   English   中英

Java Swing中的简单包装红色验证消息

[英]Simple, wrapping red validation message in java swing

因此,我从事Web应用程序开发已有10年了,但是对在与我之前曾获得过帮助的入门编程课程相关的小型Swing应用程序的开发工作怀有美好的回忆。 我通常喜欢构建swing / java UI,尤其是使用不错的UI构建器。 但是,在这段时间里,我非常习惯在表单上的数据无效时提供可变长度和数字的清晰的红色错误消息。 有时带有图标,有时在字段上带有标记等。非常常见的东西在网络世界中很容易做到,并且确实有帮助并提高了可用性。

今天,我试图找到一种在挥杆窗体的顶部或底部显示错误消息列表的方法,以后可能会出现图标和字段标记,但是现在我只想要一个尺寸可变的列表,需要被校正为红色。

乍一看,这似乎很容易,但是..

  • JLabel不自动换行,因此隐藏了很长的文字,或者您必须使表格超宽
  • 除非您定义许多列,否则JText Area会遇到相同的问题,并且我想填充可用空间。 设置的列数不会调整大小。
  • JTextPane自动换行,但据我所知,除非您完全了解复杂的StyledDocument位,否则它不会变成红色。 除了更改文本颜色,我不想做任何更复杂的事情,所以这似乎有些过分。

还有一个较小的问题,就是将窗口空间移出,可以调用pack(),但我想只增加表格的高度并包装文本,而不是将对话框更改为消息的宽度(造成很多压力)布局和无效空间(如果一条长消息的宽度加倍)

我也不希望消息区域或整个表单都具有滚动条。

当然,这是已经发明的轮子,那么以摆动形式显示红色(但未格式化)错误消息列表的正确方法是什么?

标签不会自动换行,因此会隐藏长文本,或者您必须将表单设置为超宽

除非您定义许多列,否则JText Area会遇到相同的问题,并且我想填充可用空间。 设置的列数不会调整大小。

  • 使用自动换行

设置的列数不会调整大小。 以及“我也不想滚动条”

  • 将JTextArea放入JScrollPane,以禁用JScrollBars,将JScrollPane中的Borders设置为null

JTextPane自动换行,但据我所知,除非您完全了解复杂的StyledDocument位,否则它不会变成红色。 除了更改文本颜色,我不想做任何更复杂的事情,所以这似乎有些过分。

  • 使用HighLighter,但从与您的StyledDocument有关的问题的已发布描述中看不出来

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM