在JavaSwing中包装简单的红色验证消息

在JavaSwing中包装简单的红色验证消息,java,swing,validation,validationmessage,Java,Swing,Validation,Validationmessage,因此,我已经开发web应用程序10年了,但我有一段美好的回忆,那就是我曾在小型swing应用程序上工作过,这些应用程序与我之前受聘帮助学习的入门编程课程有关。我通常喜欢构建swing/JavaUI,尤其是使用一个像样的UI构建器。然而,在此期间,当表单上的数据无效时,我已经非常习惯于提供长度和数字可变的清晰、红色错误消息。有时带有图标,有时在字段上带有标记等等。这在网络世界中很容易做到,而且非常有用,可以提高可用性 今天我试图找到一种方法,在swing表单的顶部或底部显示一个漂亮的错误消息列表,

因此,我已经开发web应用程序10年了,但我有一段美好的回忆,那就是我曾在小型swing应用程序上工作过,这些应用程序与我之前受聘帮助学习的入门编程课程有关。我通常喜欢构建swing/JavaUI,尤其是使用一个像样的UI构建器。然而,在此期间,当表单上的数据无效时,我已经非常习惯于提供长度和数字可变的清晰、红色错误消息。有时带有图标,有时在字段上带有标记等等。这在网络世界中很容易做到,而且非常有用,可以提高可用性

今天我试图找到一种方法,在swing表单的顶部或底部显示一个漂亮的错误消息列表,图标和字段标记可以稍后出现,但现在我只想要一个漂亮的、大小可变的、需要更正的事情列表,颜色为红色

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

  • JLabel不换行,因此长文本是隐藏的,或者您必须使表单超宽
  • JText区域也有同样的问题,除非您定义了许多列,并且我想填充可用的空间。设置数量的列不会调整大小
  • JTextPane是包装的,但据我所知,它不会变为红色,除非您完全了解复杂的样式文档位。我不想做任何比改变文本颜色更复杂的事情,所以这看起来太过分了
还有一个小问题是将窗口空间向外推,可以调用pack(),但我只想增加表单的高度并包装文本,而不想将对话框更改为消息的宽度(如果一条长消息的宽度增加一倍,则会造成大量紧张的布局和死区)

我也不想为消息区域或整个表单设置滚动条

这肯定是一个已经发明的轮子,那么在swing表单中显示红色(但未格式化)错误消息列表的正确方式是什么呢

标签不换行,所以长文本被隐藏,或者您必须使 形成超宽

  • 使用
JText Area也有同样的问题,除非您定义了许多列, 我想填满可用的空间。设置数量的列将不可用 调整大小

  • 使用单词和换行符
设置数量的列不会调整大小。再加上“我也不想有滚动条”

  • 将JTextArea放入JScrollPane,要禁用JScrollBars,请将JScrollPane中的边框设置为null
JTextPane包裹着,但据我所知,它不会变红,除非你 通过复杂的样式文件位进入整个过程。我不 想做比改变文本颜色更复杂的事情吗 这似乎太过分了

  • 使用荧光笔,但从发布的描述中看不到有关StyledDocument问题的明确信息
标签不换行,所以长文本被隐藏,或者您必须使 形成超宽

  • 使用
JText Area也有同样的问题,除非您定义了许多列, 我想填满可用的空间。设置数量的列将不可用 调整大小

  • 使用单词和换行符
设置数量的列不会调整大小。再加上“我也不想有滚动条”

  • 将JTextArea放入JScrollPane,要禁用JScrollBars,请将JScrollPane中的边框设置为null
JTextPane包裹着,但据我所知,它不会变红,除非你 通过复杂的样式文件位进入整个过程。我不 想做比改变文本颜色更复杂的事情吗 这似乎太过分了

  • 使用荧光笔,但从发布的描述中看不到有关StyledDocument问题的明确信息

嗯,我一定是瞎了,我找了一个与文本区域上的换行相关的属性,但不知怎的错过了。我没有意识到标签中的HTML是可能的,我想你需要一个JTextPane或JEditorPane。谢天谢地,我一定是瞎了,我找了一个与文本区域上的换行相关的属性,但不知怎的错过了。我没有意识到标签中的HTML是可能的,我想你需要一个JTextPane或JEditorPane。谢谢