gpt4 book ai didi

java - java swing 中简单的包装红色验证消息

转载 作者:行者123 更新时间:2023-11-30 07:09:07 24 4
gpt4 key购买 nike

因此,我已经开发了 10 年的 Web 应用程序,但我对开发与入门编程类(class)相关的小型应用程序有着美好的记忆,在那之前,我曾受过报酬帮助过。我通常喜欢构建 swing/java UI,尤其是使用像样的 UI 构建器。然而,在此期间,我已经非常习惯于在表单上的数据无效时提供清晰的、长度和数量可变的红色错误消息。有时用图标,有时用场上的标记等。在网络世界中很容易做到的非常常见的东西,并且真的很有帮助并提高了可用性。

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

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

  • JLabel 不换行,所以长文本会被隐藏,或者您必须使表单超宽
  • JText Area 也有同样的问题,除非您定义了多个列,而我想填充可用空间。一定数量的列不会调整大小。
  • JTextPane 换行,但据我所知它不会变红,除非您完全了解复杂的 StyledDocument 位。我不想做比更改文本颜色更复杂的事情,所以这看起来有点矫枉过正。

还有一个小问题是将窗口空间推到外面,可以调用 pack(),但我只想增加表单的高度并将文本换行,而不是将对话框更改为消息的宽度(创建如果一条长消息使宽度加倍,则会出现很多紧张的布局和死空间)

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

这肯定是一个已经被发明出来的轮子,那么以 swing 形式显示红色(但未格式化)错误消息列表的正确方法是什么?

最佳答案

Label doesn't wrap, so long text is hidden, or you have to make the form ultra wide

JText Area has the same issue unless you define a number of columns, and I want to fill the space available. A set number of columns won't resize.

  • 使用自动换行

A set number of columns won't resize. and together with "I also don't really want to have scroll bars"

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

JTextPane wraps but as far as I can tell it won't turn red unless you get into the whole way over complicated StyledDocument bit. I don't want to do anything more complicated than change the text color so this seems like overkill.

  • 使用 HighLighter,但从发布的描述中看不出您对 StyledDocument 的问题

关于java - java swing 中简单的包装红色验证消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23399485/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com